auvipy / celery-flower Goto Github PK
View Code? Open in Web Editor NEWUnder heavy development now: Real time Celery monitoring with ASGI 3.0 +
License: BSD 3-Clause "New" or "Revised" License
Under heavy development now: Real time Celery monitoring with ASGI 3.0 +
License: BSD 3-Clause "New" or "Revised" License
Just installed, got:
[ERROR] Uncaught exception GET /api/task/?limit=0 (127.0.0.1)
HTTPRequest(protocol='http', host='localhost:8989', method='GET', uri='/api/task/?limit=0', version='HTTP/1.1', remote_ip='127.0.0.1', remote_ip='127.0.0.1', body='', headers={'Accept-Language': 'en-US,en;q=0.8', 'Accept-Encoding': 'gzip,deflate,sdch', 'Host': 'localhost:8989', 'Accept': 'application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', 'User-Agent': 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.127 Safari/533.4', 'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 'Connection': 'keep-alive', 'Referer': 'http://localhost:8989/', 'Cookie': 'sessionid=04b0c70812dc56bb5d7f1bca5305e678; csrftoken=ea2730d2c9695d592468ed805087993f'})
Traceback (most recent call last):
File "/usr/local/Cellar/python/2.6.5/lib/python2.6/site-packages/tornado-1.0.1-py2.6.egg/tornado/web.py", line 780, in _execute
getattr(self, self.request.method.lower())(*args, **kwargs)
File "/usr/local/Cellar/python/2.6.5/lib/python2.6/site-packages/celerymon-0.2.0-py2.6.egg/celerymonitor/handlers/api.py", line 16, in _write_json
content = fun(self, *args, **kwargs)
File "/usr/local/Cellar/python/2.6.5/lib/python2.6/site-packages/celerymon-0.2.0-py2.6.egg/celerymonitor/handlers/api.py", line 33, in get
return fun(self, *args, **kwargs)
File "/usr/local/Cellar/python/2.6.5/lib/python2.6/site-packages/celerymon-0.2.0-py2.6.egg/celerymonitor/handlers/api.py", line 50, in list_tasks
return state.tasks_by_timestamp(limit=limit)
TypeError: tasks_by_timestamp() got an unexpected keyword argument 'limit'
[ERROR] 500 GET /api/task/?limit=0 (127.0.0.1) 1.62ms
I thought you said that it is supported, but:
$ celerymon
Traceback (most recent call last):
File "/home/argon/.Envs/burgundy/bin/celerymon", line 5, in <module>
from celerymon.bin.celerymon import main
File "/home/argon/.Envs/burgundy/lib/python3.6/site-packages/celerymon/bin/celerymon.py", line 94
except Exception, exc:
^
SyntaxError: invalid syntax
Is there a doc on how to get started with contributing to this project? What features are planned, where we could contribute, etc?
I got this when trying to run celerymon:
# /usr/local/bin/celerymon
Traceback (most recent call last):
File "/usr/local/bin/celerymon", line 9, in <module>
load_entry_point('celerymon==1.0.3', 'console_scripts', 'celerymon')()
File "/usr/local/lib/python2.7/dist-packages/pkg_resources.py", line 337, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/local/lib/python2.7/dist-packages/pkg_resources.py", line 2279, in load_entry_point
return ep.load()
File "/usr/local/lib/python2.7/dist-packages/pkg_resources.py", line 1989, in load
entry = __import__(self.module_name, globals(),globals(), ['__name__'])
File "/usr/local/lib/python2.7/dist-packages/celerymon/bin/celerymon.py", line 44, in <module>
from ..service import MonitorService
File "/usr/local/lib/python2.7/dist-packages/celerymon/service.py", line 3, in <module>
from .consumer import EventConsumer
File "/usr/local/lib/python2.7/dist-packages/celerymon/consumer.py", line 4, in <module>
from celery.events.state import state
ImportError: cannot import name state
Problem is pretty simple:
/usr/local/lib/python2.7/dist-packages/celery/events/state.py:
...
class State(object):
"""Records clusters state."""
...
/usr/local/lib/python2.7/dist-packages/celerymon/consumer.py:
...
from celery.events.state import state
...
Obviously, need to import State instead of state - or vice versa?
Can anybody comment on, confirm such bug and help to solve?
Ubuntu 11.10
# celery --version
/usr/local/lib/python2.7/dist-packages/celery/bin/base.py:149: UserWarning: Cannot load extension 'celerymon.bin.celerymon:MonitorDelegate': ImportError('cannot import name state',)
'Cannot load extension {0!r}: {1!r}'.format(sym, exc))
3.1.0 (Cipater)
celerymon - Real-time monitoring of Celery workers.
INSTALLED: 1.0.3 (latest)
I've just installed celerymon using pip and I ended up with an install that misses the "static" directory.
http://pypi.python.org/pypi/celerymon/ now returns a 404. :(
I have:
pip freeze | grep celery celery==2.0.3 celerymon==0.2.0 django-celery==2.0.2
When I opened http://localhost:8989/api/task/?limit=0
I got: 500: Internal Server Error
Traceback (most recent call last): File "/usr/local/lib/python2.6/dist-packages/tornado/web.py", line 780, in _execute getattr(self, self.request.method.lower())(*args, **kwargs) File "/usr/local/lib/python2.6/dist-packages/celerymon-0.2.0-py2.6.egg/celerymonitor/handlers/api.py", line 16, in _write_json content = fun(self, *args, **kwargs) File "/usr/local/lib/python2.6/dist-packages/celerymon-0.2.0-py2.6.egg/celerymonitor/handlers/api.py", line 33, in get return fun(self, *args, **kwargs) File "/usr/local/lib/python2.6/dist-packages/celerymon-0.2.0-py2.6.egg/celerymonitor/handlers/api.py", line 50, in list_tasks return state.tasks_by_timestamp(limit=limit) TypeError: tasks_by_timestamp() got an unexpected keyword argument 'limit' ERROR:root:500 GET /api/task/?limit=0 (127.0.0.1) 1.35ms
I have Python 2.7.3 and Celerymon 1.0.3
celerymon was installed with pip install -U celerymon
The error I get is AttributeError: 'NoneType' object has no attribute 'conf'
./manage.py celerymon --settings=settings.prod
Traceback (most recent call last):
File "./manage.py", line 14, in <module>
execute_manager(settings)
File "/home/django/domains/everplaces.com/everplaces.com/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 459, in execute_manager
utility.execute()
File "/home/django/domains/everplaces.com/everplaces.com/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 382, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/django/domains/everplaces.com/everplaces.com/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 261, in fetch_command
klass = load_command_class(app_name, subcommand)
File "/home/django/domains/everplaces.com/everplaces.com/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 69, in load_command_class
module = import_module('%s.management.commands.%s' % (app_name, name))
File "/home/django/domains/everplaces.com/everplaces.com/local/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module
__import__(name)
File "/home/django/domains/everplaces.com/everplaces.com/local/lib/python2.7/site-packages/djcelery/management/commands/celerymon.py", line 31, in <module>
class Command(CeleryCommand):
File "/home/django/domains/everplaces.com/everplaces.com/local/lib/python2.7/site-packages/djcelery/management/commands/celerymon.py", line 34, in Command
+ (mon and mon.get_options() + mon.preload_options or ()))
File "/home/django/domains/everplaces.com/everplaces.com/local/lib/python2.7/site-packages/celerymon/bin/celerymon.py", line 113, in get_options
conf = self.app.conf
File "/home/django/domains/everplaces.com/everplaces.com/local/lib/python2.7/site-packages/celery/local.py", line 169, in __getattr__
return getattr(self._get_current_object(), name)
AttributeError: 'NoneType' object has no attribute 'conf'
missing line:
recursive-include celerymonitor/templates *.html
should better be localtime of server - or at least hint that time is GMT
I was able to fix this by manually install tornado but just wanted to report it. Looks like the tornado requirement isn't in pypi and causes "pip install celerymon" to fail as seen below:
sudo pip install celerymon
Requirement already satisfied (use --upgrade to upgrade): celerymon in /usr/local/lib/python2.6/dist-packages/celerymon-0.1.0-py2.6.egg
Requirement already satisfied (use --upgrade to upgrade): celery in /usr/local/lib/python2.6/dist-packages (from celerymon)
Downloading/unpacking tornado (from celerymon)
Could not find any downloads that satisfy the requirement tornado (from celerymon)
No distributions at all found for tornado (from celerymon)
Storing complete log in ./pip-log.txt
entrypoints in setup.py should be spelled entry_points...
causes
/usr/lib/python2.5/distutils/dist.py:263: UserWarning: Unknown distribution option: 'entrypoints'
otherwise ...
On a git clone, running python setup.py develop
or python setup.py install
fails with this:
Reading http://code.google.com/p/pylockfile/
No local packages or download links found for lockfile>=0.9
error: Could not find suitable distribution for Requirement.parse('lockfile>=0.9')
Documentation states:
/api/task/$task_id/
Show task by UUID.
Reading task with: http://localhost:8989/api/task/181375c8-4b07-4867-9ec4-e2f887a95fc8
works, while http://localhost:8989/api/task/181375c8-4b07-4867-9ec4-e2f887a95fc8/ (with trailing slash, produces:
[2011-04-06 12:05:43,518: ERROR/MainProcess] Uncaught exception GET /api/task/181375c8-4b07-4867-9ec4-e2f887a95fc8/ (127.0.0.1)
HTTPRequest(protocol='http', host='localhost:8989', method='GET', uri='/api/task/181375c8-4b07-4867-9ec4-e2f887a95fc8/', version='HTTP/1.1', remote_ip='127.0.0.1', body='', headers={'Accept-Language': 'sl,en;q=0.8,en-US;q=0.6', 'Accept-Encoding': 'gzip,deflate,sdch', 'Host': 'localhost:8989', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_6) AppleWebKit/534.27 (KHTML, like Gecko) Chrome/12.0.712.0 Safari/534.27', 'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 'Connection': 'keep-alive', 'Cookie': 'sessionid=e7968d29a5cedd1dad57a3f93cc88cc2; csrftoken=2b822098281561e75e896c4a061728c1'})
Traceback (most recent call last):
File "/usr/local/lib/python2.6/dist-packages/tornado/web.py", line 861, in _execute
getattr(self, self.request.method.lower())(*args, **kwargs)
File "/usr/local/lib/python2.6/dist-packages/celerymonitor/handlers/api.py", line 16, in _write_json
content = fun(self, *args, **kwargs)
File "/usr/local/lib/python2.6/dist-packages/celerymonitor/handlers/api.py", line 33, in get
return fun(self, *args, **kwargs)
File "/usr/local/lib/python2.6/dist-packages/celerymonitor/handlers/api.py", line 40, in task_state
task = state.tasks[task_id]
KeyError: '181375c8-4b07-4867-9ec4-e2f887a95fc8/'
[2011-04-06 12:05:43,519: ERROR/MainProcess] 500 GET /api/task/181375c8-4b07-4867-9ec4-e2f887a95fc8/ (127.0.0.1) 0.46ms
Getting following error
bkuberek@server:~$ celerymon
Traceback (most recent call last):
File "/usr/bin/celerymon", line 9, in <module>
load_entry_point('celerymon==0.4.0', 'console_scripts', 'celerymon')()
File "/usr/lib/python2.6/dist-packages/celerymon/bin/celerymon.py", line 128, in main
mon.execute_from_commandline()
File "/usr/lib/python2.6/dist-packages/celery/bin/base.py", line 176, in execute_from_commandline
return self.handle_argv(prog_name, argv[1:])
File "/usr/lib/python2.6/dist-packages/celery/bin/base.py", line 223, in handle_argv
options, args = self.prepare_args(*self.parse_options(prog_name, argv))
File "/usr/lib/python2.6/dist-packages/celery/bin/base.py", line 252, in parse_options
parser = self.create_parser(prog_name)
File "/usr/lib/python2.6/dist-packages/celery/bin/base.py", line 263, in create_parser
self.get_options())))
File "/usr/lib/python2.6/optparse.py", line 1214, in __init__
add_help=add_help_option)
File "/usr/lib/python2.6/optparse.py", line 1256, in _populate_option_list
self.add_options(option_list)
File "/usr/lib/python2.6/optparse.py", line 1039, in add_options
self.add_option(option)
File "/usr/lib/python2.6/optparse.py", line 1020, in add_option
self._check_conflict(option)
File "/usr/lib/python2.6/optparse.py", line 995, in _check_conflict
option)
optparse.OptionConflictError: option -A/--address: conflicting option string(s): -A
celerymond.py line 80 tries to read celery.conf.CELERYMON_PID_FILE which doesn't exist.
Adding the attribute in celery.conf and related default solves the problem.
README file specifies that celerymon can be executed with --detach to run as a daemon in prod environments, but this option fails to be recognized by the command.
It would be good to reestablish support for this option or at least specify in the README a way to run it in a production environment. Maybe even something rather simple like:
$ nohup python manage.py celerymon &
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.