Список задач по сути является очередью. SWF поддерживает неограниченное количество списков задач, и они создаются по запросу без явной регистрации. Это зависит от приложения, чтобы решить, сколько работников потребляют из списка задач. Общим шаблоном проектирования является наличие общего списка задач , который рабочий на каждом хосте слушает, и списка задач, специфичных для хоста на хост (или мезо, или задача cubernetis, или даже экземпляр процесса). Затем одна из задач действий, отправленных в общий список задач, возвращает имя списка задач, специфичных для хоста, и затем действия могут быть запланированы в список задач, специфичных для хоста, для маршрутизации выполнения действий на конкретном хосте.
Способ планирования действий для определенного списка задач зависит от библиотеки на стороне клиента. В платформе Java AWS Flow это делается путем передачи его в структуру ActivitySchedulingOptions, которая может быть передана в качестве дополнительного параметра для вызова действия.
См. пример обработки файла , который демонстрирует такую маршрутизацию.
Кстати, вы смотрели на Cadence , альтернативу SWF с открытым исходным кодом, которая активно развивается и имеет гораздо больше возможностей, чем SWF?