如何防止芹菜执行相同的任务?

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

由于在将此服务器连接到我的主生产服务器之后,对于相同的缓存密钥,它将每秒接收数十个请求,以确保在芹菜队列中具有相同缓存密钥的永远不会有多个更新任务(作为队列和同时设置).

我想在运行任务之前使用redis设置来确保它,但我正在寻找更好的方法.

最佳答案 只有一种方法,实现自己的锁机制.

官方文档有
nice example page..

你的想象力是唯一的限制.

希望这可以帮助.

点赞