I have the following circus
config:
[circus]
pidfile = /tmp/circus.pid
check_delay = 5
statsd = True
httpd = True
httpd_host = 10.3.2.1
httpd_port = 8888
endpoint = tcp://127.0.0.1:5555
pubsub_endpoint = tcp://127.0.0.1:5556
stats_endpoint = tcp://127.0.0.1:5557
stream_backend = thread
[watcher:my_app]
working_dir = /var/www/my_app/
cmd = /usr/local/bin/waitress-serve
args = --unix-socket='/tmp/my_app.socket' --threads=16 --http_app:main
uid = www-data
gid = www-data
numprocesses = 1
warmup_delay = 0
use_sockets = True
graceful_timeout = 2
stderr_stream.class = StdoutStream
It seems to work at first:
# circusd circus.ini
2016-12-02 18:21:15 circus[6406] [INFO] Starting master on pid 6406
2016-12-02 18:21:15 circus[6406] [INFO] sockets started
2016-12-02 18:21:15 circus[6406] [INFO] Arbiter now waiting for commands
2016-12-02 18:21:15 circus[6406] [INFO] my_app started
2016-12-02 18:21:15 circus[6406] [INFO] circusd-stats started
2016-12-02 18:21:15 circus[6406] [INFO] circushttpd started
2016-12-02 18:21:16 circus[6414] [INFO] Starting the stats streamer
Serving on http://unix:/tmp/my_app.socket
2016-12-02 18:21:16 circus-web[6415] [INFO] Starting circus web ui on fd 6
But then if I try to connect to the endpoint
(127.0.0.1:5555) from the WEBUI
:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/tornado/web.py", line 1425, in _stack_context_handle_exception
raise_exc_info((type, value, traceback))
File "/usr/local/lib/python2.7/dist-packages/tornado/stack_context.py", line 314, in wrapped
ret = fn(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/tornado/web.py", line 1638, in future_complete
f.result()
File "/usr/local/lib/python2.7/dist-packages/tornado/concurrent.py", line 237, in result
raise_exc_info(self._exc_info)
File "/usr/local/lib/python2.7/dist-packages/tornado/gen.py", line 285, in wrapper
yielded = next(result)
File "/usr/local/lib/python2.7/dist-packages/circusweb/circushttpd.py", line 164, in post
endpoints = self.get_arguments('endpoint_list', [])
File "/usr/local/lib/python2.7/dist-packages/tornado/web.py", line 412, in get_arguments
assert isinstance(strip, bool)
AssertionError
What could be wrong? Seems like a bug in circus
code.
There's a cure:
It's a shame it didn't find its way to
pip
.