I create a project with a bottle, and I need to periodically perform certain planned actions.
I decided to go with rabbitmq + celery, as this seemed like the most reliable and complete solution for managing scheduled tasks programmatically.
I installed both rabbit and celery in order, and when I use celeryd-B, the tasks do well. However, when I use the celerybeat command, the tasks are "sent" (or the conclusion says so, because I run both celeryd and celerybeat with the -l debug option to be more verbose), but although they are regularly "sent", t execute (for testing purposes, the task should add the current timestamp to the file every 60 seconds). In any case, everything else works fine, since the celeryd -B command in the same directory works very well, it writes the file at the expected intervals.
Did I miss something?
Here is the result of $ celerybeat -l debug:
[2012-06-30 18:07:44,676: WARNING/MainProcess] celerybeat v2.5.5 is starting. [2012-06-30 18:07:44,750: WARNING/MainProcess] __ - ... __ - _ Configuration -> . broker -> amqp:// guest@localhost :5672// . loader -> celery.loaders.default.Loader . scheduler -> celery.beat.PersistentScheduler . db -> celerybeat-schedule . logfile -> [stderr]@DEBUG . maxinterval -> 5.00 minutes (300s) [2012-06-30 18:07:44,751: DEBUG/MainProcess] Setting default socket timeout to 30 [2012-06-30 18:07:44,751: INFO/MainProcess] Celerybeat: Starting... [2012-06-30 18:07:44,776: DEBUG/MainProcess] Current schedule: <Entry: celery.backend_cleanup celery.backend_cleanup() {<crontab: 0 4 * (m/h/d)>} <Entry: often tasks.output() {<freq: 1.00 minute>} [2012-06-30 18:07:44,776: DEBUG/MainProcess] Celerybeat: Ticking with max interval->5.00 minutes [2012-06-30 18:07:44,781: DEBUG/MainProcess] Start from server, version: 8.0, properties: {u'information': u'Licensed under the MPL. See http://www.rabbitmq.com/', u'product': u'RabbitMQ', u'copyright': u'Copyright (C) 2007-2012 VMware, Inc.', u'capabilities': {}, u'platform': u'Erlang/OTP', u'version': u'2.8.4'}, mechanisms: [u'PLAIN', u'AMQPLAIN'], locales: [u'en_US'] [2012-06-30 18:07:44,785: DEBUG/MainProcess] Open OK! known_hosts [] [2012-06-30 18:07:44,787: DEBUG/MainProcess] using channel_id: 1 [2012-06-30 18:07:44,789: DEBUG/MainProcess] Channel open [2012-06-30 18:07:44,790: INFO/MainProcess] Scheduler: Sending due task tasks.output [2012-06-30 18:07:44,794: DEBUG/MainProcess] Celerybeat: Synchronizing schedule... [2012-06-30 18:07:44,838: DEBUG/MainProcess] tasks.output sent. id->53951ab0-022d-40a5-9f56-9a4a294294c7 [2012-06-30 18:07:44,838: DEBUG/MainProcess] Celerybeat: Waking up in 1.00 minute.