Coder Social home page Coder Social logo

auvipy / celery-flower Goto Github PK

View Code? Open in Web Editor NEW
174.0 174.0 36.0 282 KB

Under heavy development now: Real time Celery monitoring with ASGI 3.0 +

License: BSD 3-Clause "New" or "Revised" License

JavaScript 67.52% PHP 0.48% Python 2.76% CSS 1.20% HTML 28.05%
celery fastapi monitoring

celery-flower's People

Contributors

alesasnouski avatar ask avatar auvipy avatar bdeggleston avatar catalanojuan avatar hany avatar jonashaag avatar kami avatar pmac avatar prgtw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

celery-flower's Issues

List all tasks fails with 500 error

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

Python 3 support?

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

Contribution Doc

Is there a doc on how to get started with contributing to this project? What features are planned, where we could contribute, etc?

Cannot import name state: from celery.events.state import state

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:

  1. Celery sources
/usr/local/lib/python2.7/dist-packages/celery/events/state.py:
...
class State(object):
"""Records clusters state."""
...
  1. And celerymon sources:
/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)

issue 500: Internal Server Error

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

AttributeError: 'NoneType' object has no attribute 'conf'

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'

celerymon: no distributions found for tornado

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

typo in setup.py causes warning

entrypoints in setup.py should be spelled entry_points...
causes
/usr/lib/python2.5/distutils/dist.py:263: UserWarning: Unknown distribution option: 'entrypoints'
otherwise ...

install fails on lockfile>=0.9 not found

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')

Reading task state with trailing slash produces 500 error

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

celerymon command line error

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

No detach option to execution in production envs

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 &

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.