0

我正在开发一个包含任务的 Azure Devops 扩展。在其中一项任务中,我正在启动一个流程并进行配置。在另一个任务中,我正在访问相同的流程 API 来使用它。这工作得很好,但我注意到工作完成后,我的进程被杀死了。我计划允许用户在代理上进行配置,并能够在另一个作业或管道中访问它。

有没有办法在代理上持久化进程?我觉得代理正在杀死清理时创建的每个子进程。我在哪里可以找到这方面的文档?

编辑:我设法找到这个讨论某个变量的线程Process.clean,但没有更多关于它的信息,我也没有找到关于它的文档。

4

1 回答 1

1

你的感觉是对的。当工作完成时,代理会清理生成的进程,这是设计使然。一台机器上可以有多个代理,多个代理可以并行运行任务。如果您有一台机器上有 10 个代理,并且它们都同时启动这个过程怎么办?

IMO,您采取的方法令人怀疑。如果您需要跨作业保留信息,有多种方法可以做到这一点(例如,包含 JSON 的输出变量),这些方法不涉及生成在启动它的作业范围之外继续运行的服务。

于 2019-10-29T23:27:01.213 回答