我正在使用Django开发一个Web应用程序,它使用Celery来处理异步任务,特别是对于交易电子邮件。
我的电子邮件任务中的一个是使用ETA选项安排的,但它并行执行多次,导致邮件链,非常烦人。我无法弄明白为什么。 我检查了两次我的Django代码,我确信它只发布了一次。
我正在使用Redis作为经纪人/后端结果。
我的Celery守护程序托管在Heroku上,并通过以下命令启动:
python manage.py celeryd -E -B --loglevel=INFO
感谢您的帮助。
编辑:感谢#celery IRC频道上的某个人,我找到了一个有效的解决方案:http://loose-bits.com/2010/10/distributed-task-locking-in-celery.html