Как сохранить процесс, порожденный задачей на агенте?

Я разрабатываю расширение Azure Devops с задачами в нем. В одной из задач я запускаю процесс и занимаюсь настройками. В другой задаче я обращаюсь к тому же API процесса, чтобы использовать его. Это работает отлично, но я заметил, что после того, как работа сделана, мой процесс прекращается. Я планировал разрешить пользователю выполнять настройку агента и иметь доступ к нему в другом задании или конвейере.

Есть ли способ сохранить процесс на агенте? Мне кажется, что агент убивает все дочерние процессы, созданные при очистке. Где я могу найти документацию по этому поводу?

Изменить: мне удалось найти эту ветку, в которой говорится об определенномProcess.clean переменная, но информации о ней нет, и я не нашел по ней документации.

1 ответ

Ваше чувство правильное. По завершении задания агенты очищают порожденные процессы, и это сделано специально. На одной машине может быть несколько агентов, и несколько агентов могут выполнять задачи параллельно. Что, если у вас есть одна машина с 10 агентами, и все они запускают этот процесс одновременно?

ИМО, ваш подход вызывает подозрения. Если вам нужно сохранить информацию между заданиями, существует множество способов сделать это (например, выходная переменная, содержащая JSON), которые не связаны с созданием службы, которая продолжает работать за пределами задания, которое ее запустило.

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