Постепенно все размышления привели к следующей схеме, которая очень близка к исходным требованиям.

Процессы и команды, которые нужно запустить на сервере, описываются в виде блоков кода. Каждый такой блок представляет собой команду для запуска на сервере. Коротко говоря — «Process as Codeblock»!

Идея запуска процессов в AxonaCloud на основе блоков кода в документе

По сути, каждый кодовый блок — это bash-скрипт, который выполняется на стороне сервера.

У блока может быть атрибут cron, в котором задаётся периодичность запуска. Если атрибута cron нет, то скрипт запускается автоматически при старте:

  • если это сервис — он продолжает работать,

  • если это инициализация — он завершает выполнение.

Если в документе изменился какой-то блок, соответствующий процесс на сервере перезапускается.

Скрипты с атрибутом cron запускаются по расписанию.

Остаются вопросы, связанные с возможным дублированием документа, сохранением логов процессов и деталями состояний документа и процесса на сервере. Но с первой пробной версией все станет определеннее...

В целом, получается нечто вроде «Jupyter Notebook», но для серверных процессов. Можно назвать это «Process/Ops Notebook».

Главное, что идея выглядит вполне реализуемой.