在我的芹菜Django项目中,我有芹菜任务功能需要接收所有传入的任务,但是像Singleton一样一步一步地开始。
我可以这样做:
@shared_task(bind=True)
def make_some_task(self, event_id):
lock_name = os.path.join(settings.BASE_DIR, 'create_lock')
is_exists = os.path.exists(lock_name)
while is_exists:
time.sleep(10)
with open('create_lock', 'w') as file:
file.write('locked')
..... do some staff.....
os.remove(lock_name)
但我认为这不是在Celery中使用它的正确方法,我认为必须是实现这个的更好方法