Расписание задач Celery (обеспечение выполнения задачи только по одной)Python

Программы на Python
Anonymous
Расписание задач Celery (обеспечение выполнения задачи только по одной)

Сообщение Anonymous »

У меня есть примерно такая задача:

Код: Выделить всё

@task()
def async_work(info):
...
В любой момент я могу вызвать async_work и передать некоторую информацию. По какой-то причине мне нужно убедиться, что одновременно выполняется только одна async_work, другой запрос вызова должен ждать.
Поэтому я придумал следующий код:

Код: Выделить всё

is_locked = False
@task()
def async_work(info):
while is_locked:
pass
is_locked = True
...
is_locked = False
Но там написано, что доступ к локальным переменным недействителен...
Как это решить?

Подробнее здесь: https://stackoverflow.com/questions/120 ... -at-a-time

Вернуться в «Python»