【问题标题】:Django/Celery: celeryd won't retrieve new tasks from queue unless restartedDjango/Celery:除非重新启动,否则 celeryd 不会从队列中检索新任务
【发布时间】:2011-09-18 14:48:54
【问题描述】:

我不明白为什么celeryd 没有拉出添加到队列中的新任务。它只会在启动后检索任务,然后无法监控。我正在使用 Django ORM 作为消息代理运行带有 django-celery 的 Django 开发服务器。

我的 Django 设置文件有这个 celery 的配置:

INSTALLED_APPS += ("djcelery", )
INSTALLED_APPS += ("djkombu", )

import djcelery
djcelery.setup_loader()
BROKER_TRANSPORT = "djkombu.transport.DatabaseTransport"

BROKER_HOST = "localhost"
BROKER_PORT = 5672
BROKER_USER = "guest"

BROKER_PASSWORD = "guest"
BROKER_VHOST = "/"

此外,如果重要的话,我正在使用一个 remote MySQL 服务器作为我的数据库后端。

编辑:已解决!

花了几个小时后,我在 Celery 常见问题解答中找到了答案:

MySQL is throwing deadlock errors, what can I do?

我没有在日志中看到死锁错误,但修改了我的 /etc/my.cnf 以包括:

[mysqld]
transaction-isolation = READ-COMMITTED

解决了我的问题。

希望这对其他人有帮助!

【问题讨论】:

    标签: django celery


    【解决方案1】:

    花了几个小时后,我在 Celery FAQ 中找到了答案:

    MySQL is throwing deadlock errors, what can I do?

    我没有在日志中看到死锁错误,而是修改了我的 /etc/my.cnf 以包含:

    [mysqld] 事务隔离 = READ-COMMITTED

    解决了我的问题。

    希望这对其他人有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-15
      • 2015-03-09
      • 2015-06-16
      • 1970-01-01
      • 2019-07-10
      • 2020-09-05
      • 2013-11-20
      • 1970-01-01
      相关资源
      最近更新 更多