我想知道是否有一种异步运行任务的方式将在后台运行(例如使用Celery)从不同时运行?
这意味着,每个任务可以自己同时运行,但不能与另一个干扰第一个任务操作的任务一起运行。
例如,
基本上,我需要的是任务A和B找出其他任务是否正在运行以及是否正在运行的方式,然后延迟自己并等待它完成(可能阻塞任务队列)
为任务定义队列是否可以解决问题?或者它只是一个执行任务的队列(所以它会在队列中执行第二个任务而不等待第一个任务的结果)?
在这里使用锁定我唯一的解决方案?
如果锁定解决方案是唯一的,那么实施的正确方法是什么?
我发现了这个:
Ensuring a task is only executed one at a time
但是它使用django的缓存作为锁,我没有在django环境中运行我的程序,所以它对我不起作用。