История изменений
Исправление ls-h, (текущая версия) :
А можно без Celery? Зачем оно вообще? Сделай директорию с задачами. Одна задача - один файл. Статус задачи - суффикс имени файла. Рабочие - процессы, которые висят на inotify. Кто первый взял, того и задача. Процесс забрал задачу в работу - переименовал файл в *.working.worker-id. Переименование файла это атомарная операция. Если случилась ошибка «файл не найден», значит забрал другой рабочий. Если упал, то когда поднялся найдёт свою задачу по worker-id.
Исходная версия ls-h, :
А можно без Celery? Зачем оно вообще? Сделай директорию с задачами. Одна задача - один файл. Статус задачи - суффикс имени файла. Рабочие - процессы, которые висят на inotify. Процесс забрал задачу в работу - переименовал файл в *.working.worker-id. Кто первый взял, того и задача. Переименование файла это атомарная операция. Если случилась ошибка «файл не найден», значит забрал другой рабочий. Если упал, то когда поднялся найдёт свою задачу по worker-id.