我正在实现一个使用 celery 任务在后台更新缓存的缓存服务器。只有一个任务,我用不同的参数(缓存键)调用它。
因为在将此服务器连接到我的主要生产服务器后,它将每秒收到数十个对相同缓存键的请求,我想确保 celery 队列中具有相同缓存键的更新任务不会超过一个(同时作为队列和集合工作)。
我想在运行任务之前使用 redis 集来确保这一点,但我正在寻找更好的方法。
最佳答案
只有一种方法,实现自己的锁机制。 官方文档有一个 nice example page. . 唯一的限制是您的想象力。
希望这对您有所帮助。
关于python - 如何防止 celery 执行相同的任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37024447/