yandex-load / yatank-online

Yandex.Tank OnlineReport plugin
27 stars 8 forks source link

Проблема - не запускается веб-сервер - TypeError: initialize() got an unexpected keyword argument 'auto_start' #4

Open maklaut opened 9 years ago

maklaut commented 9 years ago

Не работает OnlineReport, в логе вижу следующие строчки:

2015-07-29 16:59:30,100 [DEBUG] yandextank.core.tankcore Configuring <OnlineReportPlugin(Thread-1, initial daemon)>
2015-07-29 16:59:31,400 [DEBUG] yandextank.core.tankcore Preparing <OnlineReportPlugin(Thread-1, initial daemon)>
2015-07-29 16:59:31,572 [DEBUG] yandextank.core.tankcore Starting <OnlineReportPlugin(Thread-1, initial daemon)>
2015-07-29 16:59:31,580 [DEBUG] yandextank.core.tankcore Polling <OnlineReportPlugin(Thread-1, stopped daemon 139981118691072)>
2015-07-29 16:59:32,078 [DEBUG] yandextank.core.tankcore Polling <OnlineReportPlugin(Thread-1, stopped daemon 139981118691072)>
2015-07-29 16:59:32,582 [DEBUG] yandextank.core.tankcore Polling <OnlineReportPlugin(Thread-1, stopped daemon 139981118691072)>

В ini прописано следующее:

[web]
port=18080

[tank]
plugin_web=yatank_OnlineReport

Как выяснилось в отладчике вебсервер в OnlineReport не стартует из-за эксепшена TypeError: initialize() got an unexpected keyword argument 'auto_start'. Скрин из дебаггера: 2015-07-29 20 13 08

Версии софта:

$ python -V
Python 2.6.6

$ pip list
argparse (1.3.0)
backports.ssl-match-hostname (3.4.0.2)
certifi (2015.4.28)
docutils (0.12)
futures (3.0.3)
hypchat (0.15)
importlib (1.0.3)
ipaddr (2.1.11)
lockfile (0.10.2)
ordereddict (1.1)
pip (7.1.0)
progressbar (2.3)
psutil (3.1.1)
pudb (2015.3)
Pygments (2.0.2)
pyjade (3.1.0)
python-daemon (2.0.5)
python-dateutil (2.4.2)
pytz (2015.4)
PyYAML (3.11)
requests (2.7.0)
setuptools (18.0.1)
simplejson (3.8.0)
six (1.9.0)
slumber (0.7.1)
TornadIO2 (0.0.4)
tornado (4.2.1)
trollius (2.0)
urwid (1.3.0)
wheel (0.24.0)
winpdb (1.4.8)
yandex-tank-api (0.0.11)
yandex-tank-api-client (0.0.4)
yandextank (1.7.13)
yatank-online (0.0.2)
krushik commented 9 years ago

Подтверждаю. Чистая ubuntu 14.04 + pip install yandextank && pip install yatank-online:

Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
    self.run()
  File "/usr/local/lib/python2.7/dist-packages/yatank_OnlineReport/plugin.py", line 70, in run
    self.server.serve()
  File "/usr/local/lib/python2.7/dist-packages/yatank_OnlineReport/server.py", line 106, in serve
    self.server = SocketServer(self.app, auto_start=False)
  File "/usr/local/lib/python2.7/dist-packages/tornado/util.py", line 215, in __new__
    instance.initialize(*args, **init_kwargs)
TypeError: initialize() got an unexpected keyword argument 'auto_start'

Это, похоже, уже обсуждалось 15 мая тут

maklaut commented 9 years ago

Да это оно. Проблема несовместимых версия tornado и tornadio все еще актуальна. Интересно почему у меня не видно этого исключения в логе, а у @nordicdyno видно? Может быть это из-за python2.6?

nordicdyno commented 9 years ago

$ python -V Python 2.7.3 $ cat /etc/issue Ubuntu 12.04.2 LTS

¯\_(ツ)_/¯ 
krushik commented 9 years ago

В логе этого и нет. Эксепшн вываливается только в stderr перед началом отображения консоли танка

ex-troll commented 9 years ago

pip install pyjade==3.0.0

maklaut commented 9 years ago

@ex-troll Проверил с pyjade (3.0.0) - та же самая ошибка TypeError: initialize() got an unexpected keyword argument 'auto_start'. Да и при чем тут pyjade если знающие люди говорили о несовместимых версиях tornado и tornadio?

direvius commented 9 years ago

Говорят, взлетает с tornado==4.0, но я еще не успел проверить. Баг с pyjade поправили тут: https://github.com/yandex-load/yatank-online/pull/6

maklaut commented 9 years ago

С tornado==4.0 заработало, правда проигнорировало настройку порта в ini.

load.ini

[web]
port=18080

А запустилось в итоге на 8001.