У меня есть рабочий процесс SWF, в котором есть два действия.
В первом действии (A1) просто вызывается API службы, который, в свою очередь, запускает приложение, которое (в конечном итоге) загружает файл в определенную корзину S3.
Загрузка второго действия (A2)этот файл и оценивает содержащиеся в нем данные.
Моя проблема заключается в том, что у меня неоднократно происходит сбой А2 и повторная попытка, поскольку файл S3 отсутствует, пока файл не загружен приложением.
А1 простозапускает внешнее приложение и завершает работу сразу же после получения ответа «Приложение успешно запущено», поэтому ожидание A2 на Promise, возвращаемом A1, не заставляет A2 ждать, пока файл не окажется в S3.
Мое первоначальное решение:отловить исключение, вызванное отсутствием файла, и повторить попытку в рамках действия, но это плохая альтернатива, поскольку действие будет продолжать выполняться и мешать другим рабочим процессам, работающим на том же компьютере, выполнять полезную работу.
Я думаю, что идеальным решением было бы «впасть в спячку»и "просыпаться" каждые X минут, чтобы увидеть, есть ли файл там или нет таким образом, который потенциально не истощает другие рабочие процессы.
Возможно ли это?