circus web console 依赖tornado>3.2 无法访问的bug

circus web console 是一个很不错的web 监控circus 工具,但是对于高版本一直存在一个bug

信息如下

Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/tornado/web.py", line 1369, 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 1581, in future_complete
f.result()
  File "/usr/local/lib/python2.7/dist-packages/tornado/concurrent.py", line 215, in result
    raise_exc_info(self._exc_info)
  File "/usr/local/lib/python2.7/dist-packages/tornado/gen.py", line 230, 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 398, in get_arguments
    assert isinstance(strip, bool)
AssertionError

解决方法

使用固定版本tornado=3.2.2

对应dockerfile 的修改

FROM python:2.7-slim-stretch
LABEL AUTHOR="dalongrong"
LABEL EMAIL="1141591465@qq.com"
RUN apt-get update && apt-get install -y --reinstall build-essential \
    && pip install circus circus-web chaussette \
    && pip uninstall -y tornado \
    && pip install tornado==3.2.2 \
    && apt-get remove -y --purge build-essential \
    && rm -rf /var/lib/apt/lists/*

使用

  • 参考代码
https://github.com/rongfengliang/circus-batch-worker-docker-compose
  • web 效果

 

说明

对应docker 镜像我也已经push docker hub 了,可以直接使用 dalongrong/circus:2.7-slim-stretch

参考资料

https://github.com/rongfengliang/circus-batch-worker-docker-compose
https://github.com/circus-tent/circus
https://github.com/circus-tent/circus-web/issues/59
https://github.com/rongfengliang/circus-docker

posted on 2019-06-10 21:09  荣锋亮  阅读(427)  评论(0编辑  收藏  举报

导航