circus-tent / circus

A Process & Socket Manager built with zmq
http://circus.readthedocs.org/
Other
1.55k stars 258 forks source link

[DEBUG] manage_watchers is conflicting with another command #690

Open tallmad opened 10 years ago

tallmad commented 10 years ago

I am new to circus. start zeus_oas:

2013-12-04 14:47:22 [19102] [DEBUG] reaping already dead process 21740 [zeus_oas] 2013-12-04 14:47:22 [19102] [DEBUG] cmd: /srv/virtualenvs/zeus2env/bin/zserve oas 2013-12-04 14:47:22 [19102] [DEBUG] args: 2013-12-04 14:47:22 [19102] [DEBUG] process args: ['/srv/virtualenvs/zeus2env/bin/zserve', 'oas']2013-12-04 14:47:22 [19102] [DEBUG] running zeus_oas process [pid 17194] 2013-12-04 14:47:22 [19102] [INFO] zeus_oas started

"ps -ef | grep oas" shows there are two processes:

www-data 17194 0.4 0.9 154764 78984 ? Ss 14:47 0:00 /srv/virtualenvs/zeus2env/bin/python /srv/virtualenvs/zeus2env/bin/zserve oas www-data 17201 0.0 0.9 154764 75688 ? S 14:47 0:00 /srv/virtualenvs/zeus2env/bin/python /srv/virtualenvs/zeus2env/bin/zserve oas

stop zeus_oas:

2013-12-04 14:52:26 [19102] [DEBUG] got message {"command":"stop","properties":{"waiting":false,"name":"zeus_oas"},"id":"bd32bb9557a0414f83caad9c1df1207e"} 2013-12-04 14:52:26 [19102] [DEBUG] stopping the zeus_oas watcher 2013-12-04 14:52:26 [19102] [DEBUG] gracefully stopping processes [zeus_oas] for 5.0s 2013-12-04 14:52:26 [19102] [DEBUG] zeus_oas: kill process 17194 2013-12-04 14:52:26 [19102] [DEBUG] sending signal 15 to 17194 2013-12-04 14:52:27 [19102] [DEBUG] manage_watchers is conflicting with another command 2013-12-04 14:52:27 [19102] [INFO] zeus_oas stopped

"ps -ef | grep oas" There's stilll one process left: www-data 17201 0.0 0.9 154764 75688 ? S 14:47 0:00 /srv/virtualenvs/zeus2env/bin/python /srv/virtualenvs/zeus2env/bin/zserve oas

tallmad commented 10 years ago

This is zeus_oas ini file [watcher:zeus_oas] cmd = /srv/virtualenvs/zeus2env/bin/zserve oas numprocesses = 1 autostart = True stop_signal = TERM stop_children = True graceful_timeout = 5 priority = 999 max_retry = 3 working_dir = /srv/zeus2 uid = www-data

stdout_stream.class = FileStream stdout_stream.filename = /var/log/zeus2/zeus_oas.log stdout_stream.max_bytes = 268435456 stdout_stream.backup_count = 10 stdout_stream.time_format = %Y-%m-%d %H:%M:%S stderr_stream.class = FileStream stderr_stream.filename = /var/log/circus/zeus_oas.log stderr_stream.max_bytes = 268435456 stderr_stream.backup_count = 10
stderr_stream.time_format = %Y-%m-%d %H:%M:%S

[env:zeus_oas] PYTHONPATH = /srv/zeus2 GEVENT_RESOLVER = block

tallmad commented 10 years ago

I use Ubuntu 12.10, circus 0.10.0

scottkmaxwell commented 10 years ago

You may want to grab the latest from Github and give it a try since the start and stop logic has been through some revision lately.

tallmad commented 10 years ago

The problem still exists.

thefab commented 10 years ago

"manage_watchers is conflicting with another command" is not a "problem" (debug)

The "manage_watchers" command is sent by the arbiter himself every second. If another "non trivial" command is command (stop here) is running, the "manage_watchers" command give up with this debug messsage. It's not a problem because it will be relaunched next second.

The real problem here is : why do you have two processes after start.