python - 如何防止 celery 执行相同的任务?

标签 python django celery django-1.8

我正在实现一个使用 celery 任务在后台更新缓存的缓存服务器。只有一个任务,我用不同的参数(缓存键)调用它。

因为在将此服务器连接到我的主要生产服务器后,它将每秒收到数十个对相同缓存键的请求,我想确保 celery 队列中具有相同缓存键的更新任务不会超过一个(同时作为队列和集合工作)。

我想在运行任务之前使用 redis 集来确保这一点,但我正在寻找更好的方法。

最佳答案

只有一种方法,实现自己的锁机制。 官方文档有一个 nice example page. . 唯一的限制是您的想象力。

希望这对您有所帮助。

关于python - 如何防止 celery 执行相同的任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37024447/

相关文章:

celery - 是否可以为 celery 的 Canvas 基元使用自定义路由?

python - Spyder 是唯一具有适当变量浏览器的 Python IDE 吗?

python - 用正则表达式匹配最后一次出现

python - Django APIClient 发布为空

python - celery / flask ;从开发到生产

celery ,如果 eta 过去了,apply_async 会发生什么?

python - 将函数应用于多个数据框列

python - 我应该使用线程还是进程?

使用 APIRequestFactory : how to pass "flat" parameter to a view 进行 Django 测试

python - 添加到ManyToMany Django;没有这样的列错误