SWF: получить результат всех действий в программе запуска рабочего процесса

Я работаю с Amazon-SWF.

У меня есть 4 мероприятия. Все они асинхронные.

Рабочий процесс запускается из внешнего интерфейса с помощью API-интерфейса rest.

Я хочу вернуть результаты всех 4 действий в ответ на вызов API.

Поскольку метод @execute не может возвращать ничего, кроме void, при вызове из внешнего клиента, я не могу получить результат всех 4 действий в моей программе запуска рабочего процесса.

Одним из способов решения этой проблемы было продолжение опроса истории рабочего процесса в стартовой программе, но я действительно не думаю, что это лучшее решение. Итак, каков эффективный способ сделать это? Я уверен, что почти каждый, кто использует amazon-swf, имеет подобный вариант использования.

PS: остальная часть моей программы работает нормально. Я получаю результаты всех действий в реализации решения. Но я просто не могу получить их в программе, которая запустила рабочий процесс.

1 ответ

Стандартный шаблон для запуска специальной активности уведомлений в процессе веб-интерфейса. При запуске рабочего процесса в качестве параметра он получает имя списка задач уведомлений. Затем, по завершении, он планирует действие в указанный список задач. Вызов API ожидает вызова действия, которое доставляет результаты выполнения. Чтобы рабочий процесс не зависал в случае сбоя внешнего интерфейса, укажите короткое расписание для запуска тайм-аута для такого действия.

Другие вопросы по тегам