Django 芹菜所有生成的任务状态
Django在一次脚本运行中通过链生成多个芹菜任务(例如,如果在浏览器中打开/,则通过延迟方法调用1000个任务)Django 芹菜所有生成的任务状态,django,queue,celery,Django,Queue,Celery,Django在一次脚本运行中通过链生成多个芹菜任务(例如,如果在浏览器中打开/,则通过延迟方法调用1000个任务) 如果在上一次脚本运行中排队的任务仍在运行,我需要一些限制新任务生成的东西。您需要一个分布式锁,芹菜本机不提供 对于这些类型的锁,我发现redis.Lock在大多数情况下都很有用。如果您需要一个信号量,您可以使用redis的原子递增/递减功能以及某种看门狗机制来确保您的进程仍在运行。您可以通过以下设置来限制同时运行的一种类型的任务数: rate_limit = “1000/m”
如果在上一次脚本运行中排队的任务仍在运行,我需要一些限制新任务生成的东西。您需要一个分布式锁,芹菜本机不提供
对于这些类型的锁,我发现
redis.Lock
在大多数情况下都很有用。如果您需要一个信号量,您可以使用redis的原子递增/递减功能以及某种看门狗机制来确保您的进程仍在运行。您可以通过以下设置来限制同时运行的一种类型的任务数:
rate_limit = “1000/m”
=>每分钟只能运行1000个此类任务。
(见附件)