Hi, agreed about using restart as being more elegant. But I am having and issues about restarting the runit service after I try and break it under load using apache AB using a t1.micro.
if I use the below..the service will never restart. the pixelServer is a python web.py script executed using spawn-fcgi. I am using nginx and unix sockets (unixsocket /tmp/nginx9002.socket). In monit...I still get a green light for the service as well check process pixelServer with pidfile "/etc/sv/pixelServer/supervise/pid" start program = "/usr/bin/sv start pixelServer" stop program = "/usr/bin/sv kill pixelServer" if failed host 127.0.0.1 port 80 protocol http request /pixel then restart If I manually try and restart this this is what I get. ubuntu@ip-10-130-69-35:/etc/nginx$ sudo sv restart pixelServer timeout: run: pixelServer: (pid 16741) 334s, got TERM ubuntu@ip-10-130-69-35:/etc/nginx$ sudo sv restart pixelServer ok: run: pixelServer: (pid 19349) 1s On Thu, Apr 12, 2012 at 7:54 AM, Callum Macdonald <[email protected]> wrote: > I think rather than exec you want just restart, that will have the > effect of restarting the service. So something like: > > if failed host 127.0.0.1 port 80 protocol http > request /pixel > hostheader 'my.webserver.name' > then restart > > I believe this is far more elegant than repeating the restart commands > in each exec statement, but I might have missed something, it's late in > this timezone! :-) > > Cheers - Callum. > > PS> Hope this hits the list only once, accidentally posted from the > wrong email again, DOH. > > On Wed, 2012-04-11 at 16:38 -0500, Noel wrote: >> If you need to exec multiple commands, put them in a little shell >> script and exec the shell script. >> >> >> >> >> On 4/11/2012 4:04 PM, David Montgomery wrote: >> > when I used an exec command can I do this? then exec "sv kill >> > pixelServer;sv up pixelServer" i.e. execute "sv kill pixelServer" >> > then "sv start pixelServer". If not then what is best practice to >> > executing two command? >> > >> > Thanks >> > >> > On Thu, Apr 12, 2012 at 3:22 AM, Noel <[email protected]> wrote: >> >> if failed host 127.0.0.1 port 80 protocol http >> >> request /pixel >> >> hostheader 'my.webserver.name' >> >> then exec ... >> >> >> >> You may or may not need the hostheader parameter; leave it out if >> >> you don't need it. >> >> >> >> >> >> >> >> >> >> On 4/11/2012 2:05 PM, David Montgomery wrote: >> >>> I have proccess aka cgi scrips for each path e.g. localhost/path1 >> >>> localhost/path2 etc >> >>> >> >>> I dont want to restart for all >> >>> >> >>> On Thu, Apr 12, 2012 at 2:49 AM, Wayne Lawrence >> >>> <[email protected]> wrote: >> >>>> Hi David, >> >>>> >> >>>> I think you could simplify this a lot with the following >> >>>> >> >>>> If failed port 80 protocol http then restart >> >>>> >> >>>> That should do what you require as I believe if you don't specify a >> >>>> host it defaults to local host >> >>>> >> >>>> Regards >> >>>> >> >>>> Wayne >> >>>> >> >>>> Sent from my iPhone >> >>>> >> >>>> On 11 Apr 2012, at 19:44, David Montgomery <[email protected]> >> >>>> wrote: >> >>>> >> >>>>> Hi, >> >>>>> >> >>>>> I am trying to stress test my server. >> >>>>> >> >>>>> I have a process under the control of monit and runit. >> >>>>> >> >>>>> Here is my monit config file for the process >> >>>>> >> >>>>> check process pixelServer >> >>>>> with pidfile "/etc/sv/pixelServer/supervise/pid" >> >>>>> start program = "/usr/bin/sv up pixelServer" >> >>>>> stop program = "/usr/bin/sv kill pixelServer" >> >>>>> if failed host 127.0.0.1/pixel port 80 protocol HTTP then exec "sv >> >>>>> up pixelServer" >> >>>>> depends on nginx. >> >>>>> >> >>>>> Here is the log.... >> >>>>> >> >>>>> I am checking process every 10 seconds. >> >>>>> >> >>>>> [UTC Apr 11 18:29:37] error : Error: Could not execute sv >> >>>>> [UTC Apr 11 18:29:47] error : 'pixelServer' failed, cannot open a >> >>>>> connection to INET[127.0.0.1/pixel:80] via TCP >> >>>>> [UTC Apr 11 18:29:47] info : 'pixelServer' exec: sv >> >>>>> [UTC Apr 11 18:29:47] error : Error: Could not execute sv >> >>>>> [UTC Apr 11 18:29:57] error : 'pixelServer' failed, cannot open a >> >>>>> connection to INET[127.0.0.1/pixel:80] via TCP >> >>>>> [UTC Apr 11 18:29:57] info : 'pixelServer' exec: sv >> >>>>> [UTC Apr 11 18:29:57] error : Error: Could not execute sv >> >>>>> [UTC Apr 11 18:30:08] error : 'pixelServer' failed, cannot open a >> >>>>> connection to INET[127.0.0.1/pixel:80] via TCP >> >>>>> [UTC Apr 11 18:30:08] info : 'pixelServer' exec: sv >> >>>>> [UTC Apr 11 18:30:08] error : Error: Could not execute sv >> >>>>> [UTC Apr 11 18:30:19] error : 'pixelServer' failed, cannot open a >> >>>>> connection to INET[127.0.0.1/pixel:80] via TCP >> >>>>> [UTC Apr 11 18:30:19] info : 'pixelServer' exec: sv >> >>>>> [UTC Apr 11 18:30:19] error : Error: Could not execute sv >> >>>>> >> >>>>> Clearly 127.0.0.1/pixel:80 is not a proper path. How do I check the >> >>>>> path? Even furher..can I use query strings? >> >>>>> >> >>>>> -- >> >>>>> To unsubscribe: >> >>>>> https://lists.nongnu.org/mailman/listinfo/monit-general >> >>>> -- >> >>>> To unsubscribe: >> >>>> https://lists.nongnu.org/mailman/listinfo/monit-general >> >>> -- >> >>> To unsubscribe: >> >>> https://lists.nongnu.org/mailman/listinfo/monit-general >> >> >> >> -- >> >> To unsubscribe: >> >> https://lists.nongnu.org/mailman/listinfo/monit-general >> > -- >> > To unsubscribe: >> > https://lists.nongnu.org/mailman/listinfo/monit-general >> >> >> -- >> To unsubscribe: >> https://lists.nongnu.org/mailman/listinfo/monit-general > > > > -- > To unsubscribe: > https://lists.nongnu.org/mailman/listinfo/monit-general -- To unsubscribe: https://lists.nongnu.org/mailman/listinfo/monit-general
