Я использую django как веб-фреймворк. Мне нужен механизм рабочего процесса, который может выполнять синхронную, а также асинхронную (пакетные задачи) цепочку задач. Я нашел сельдерей и luigi в качестве рабочего процесса обработки партии. Мой первый вопрос - в чем разница между этими двумя модулями.
Луиджи позволяет нам перезапустить неудачную цепочку задач, и только неудачные подзадачи получают повторное выполнение. Что касается сельдерея: если мы запустим цепочку (после исправления неудачного кода подзадачи), будет ли она повторно выполнять уже выполняемые подзадачи?
Предположим, у меня есть две подзадачи. Первый создает некоторые файлы, а второй читает эти файлы. Когда я помещаю их в цепочку сельдерея, вся цепочка выходит из строя из-за ошибки кода во второй задаче. Что происходит, когда я повторно запускаю цепочку после исправления кода во второй задаче? Будет ли первая задача пытаться воссоздать эти файлы?