【问题标题】:django and celery beat scheduler no database entriesdjango 和 celery 节拍调度程序没有数据库条目
【发布时间】:2013-05-18 13:24:09
【问题描述】:

我的问题是节拍调度程序没有在表“任务”和“工作人员”中存储条目。我用 django 和 celery。在我的数据库(MySQL)中,我添加了一个间隔为 120 秒的周期性测试“估计区域”。

这就是我开始工作的方式:

`python manage.py celery worker -n worker.node1 -B --loglevel=info &`

在我启动 worker 之后,我可以在终端中看到 worker 正在工作,并且调度程序从数据库中挑选出周期性任务并对其进行操作。

我的任务是如何定义的:

@celery.task(name='fv.tasks.estimateRegion',
             ignore_result=True,
             max_retries=3)
def estimateRegion(region):

终端显示:

WARNING ModelEntry: Estimate Region fv.tasks.estimateRegion(*['ASIA'], **{}) {<freq: 2.00 minutes>}
[2013-05-23 10:48:19,166: WARNING/MainProcess] <ModelEntry: Estimate Region fv.tasks.estimateRegion(*['ASIA'], **{}) {<freq: 2.00 minutes>}>
INFO Calculating estimators for exchange:Bombay Stock Exchange

“估计区域”任务返回给我一个 results.csv 文件,所以我可以看到工作人员和节拍调度程序工作。但在那之后,我的 django 管理面板中的“任务”或“工人”中没有数据库条目。

这是我在 settings.py 中的芹菜设置

` CELERY_DISABLE_RATE_LIMITS = True CELERY_TASK_SERIALIZER = '泡菜' CELERY_RESULT_SERIALIZER = '泡菜' CELERY_IMPORTS = ('fv.tasks') CELERY_RESULT_PERSISTENT = 真

# amqp settings
BROKER_URL = 'amqp://fv:password@localhost'
#BROKER_URL = 'amqp://fv:password@192.168.99.31'
CELERY_RESULT_BACKEND = 'amqp'
CELERY_TASK_RESULT_EXPIRES = 18000
CELERY_ROUTES = (fv.routers.TaskRouter(), )
_estimatorExchange = Exchange('estimator')
CELERY_QUEUES = (
    Queue('celery', Exchange('celery'), routing_key='celery'),
    Queue('estimator', _estimatorExchange, routing_key='estimator'),
)

# beat scheduler settings
CELERYBEAT_SCHEDULER = "djcelery.schedulers.DatabaseScheduler"

# development settings
CELERY_RESULT_PERSISTENT = False
CELERY_DEFAULT_DELIVERY_MODE = 'transient'`

我希望任何人都可以帮助我:)

【问题讨论】:

    标签: mysql django celery celerybeat


    【解决方案1】:

    你开始使用 celerycam 了吗?

    python manage.py celerycam
    

    它将拍摄当前任务状态的快照(默认为每 1 秒)。

    您可以在celery documentation了解更多信息

    【讨论】:

    • 太好了,首先我认为 -B 选项也可以启用 celerycam。谢谢:)
    • 没问题!如果这是您问题的解决方案,请将其标记为已接受的答案,以帮助将来遇到相同问题的其他人。
    猜你喜欢
    • 2021-03-09
    • 2023-03-10
    • 2020-03-30
    • 2020-09-27
    • 2011-07-24
    • 2011-11-14
    • 2016-11-11
    • 2021-03-14
    • 2017-10-02
    相关资源
    最近更新 更多