Недавно я создал пакет R, который использует возможности sparklyr. Я вызываю основную функцию пакета из opencpu и передаю в качестве аргумента URL-адрес со всеми моими данными в виде потока. Поток данных успешно анализируется распределенным способом через spark и дает некоторые результаты.
Моя единственная проблема заключается в том, что для завершения исполнительной части требуется много времени. Я пытался вызвать свой пакет как через opencpu.call, так и через opencpu.rpc, но оба они заставляют меня ждать окончания процесса.
Поскольку opencpu — это удивительный подход к архитектуре микросервисов, было бы чрезвычайно полезно иметь возможность действительно асинхронных вызовов.
Что-то из следующего поддерживается или планируется поддерживать в ближайшем будущем?
Вариант A: мгновенно получить идентификатор сеанса (даже если процесс все еще выполняется). Затем клиент должен запросить статус процесса, используя свой идентификатор сеанса.
Вариант B: определить URL-адрес обратного вызова, который запускает сервер ocpu, передавая идентификатор сеанса после завершения выполнения аналитического процесса.
Большое спасибо за помощь!