Django / Celery:除非重新启动,否则celeryd不会从队列中检索新任务

时间:2011-09-18 14:48:55

标签: django celery

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

我的Django设置文件具有芹菜的配置:

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 = "/"

此外,如果重要,我使用远程 MySQL服务器作为我的数据库后端。

编辑:已解决!

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

MySQL is throwing deadlock errors, what can I do?

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

[mysqld]
transaction-isolation = READ-COMMITTED

解决了我的问题。

希望这有助于其他人!

1 个答案:

答案 0 :(得分:3)

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

  

MySQL is throwing deadlock errors, what can I do?

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

的[mysqld] transaction-isolation = READ-COMMITTED

解决了我的问题。

希望这有助于其他人!