Как последовательно выполнять задачи в celery на основе параметра?

В настоящее время я работаю над приложением для опроса данных, в котором у нас есть около 600-700 различных источников данных. В каждом источнике установлен клиент, который периодически собирает данные и отправляет CSV-файл на сервер. На сервере мы получаем CSV и обрабатываем данные с помощью задач celery.

В настоящее время на сервере запущено 10 рабочих celery, которые обрабатывают по одному файлу одновременно.

Хотя нам и нужен этот параллелизм, мы также хотели бы реализовать celery таким образом, чтобы файлы данных из одного источника всегда обрабатывались последовательно. То есть, если файлы из одного источника данных, второй файл всегда должен обрабатываться только после того, как первый файл будет полностью обработан.

Предоставляет ли celery такую возможность или мне нужно создать какое-то собственное решение для управления очередью?

Примечание: В настоящее время я использую Celery с Django.

Вернуться на верх