如何持久化代理上的任务所产生的过程?

问题描述 投票:0回答:1

我正在开发带有任务的Azure Devops扩展。在一项任务中,我正在开始一个过程,并且正在进行配置。在另一个任务中,我正在访问相同的流程API来使用它。这工作得很好,但是我注意到工作完成后,我的过程被终止了。我打算允许用户在代理上进行配置,并能够在其他作业或管道中访问它。

是否有一种方法可以在代理上持久化流程?我觉得代理程序正在杀死清理时创建的每个子进程。在哪里可以找到相关文档?

Edit:我设法找到讨论某个thread变量的Process.clean,但没有更多有关此信息,也没有找到相关文档。

typescript azure-devops task agent azure-pipelines-task-lib
1个回答
0
投票

您的感觉是正确的。作业完成时,代理会清理产生的流程,这是设计使然。一台机器上可以有多个代理,并且多个代理可以并行运行任务。如果您有一台装有10个代理的计算机怎么办,他们都立即启动此过程?

IMO,您采用的方法令人怀疑。如果您需要在各个作业之间保留信息,则有很多方法可以做到这一点(例如,包含JSON的输出变量),而无需生成使该服务继续在启动它的作业范围之外运行。

© www.soinside.com 2019 - 2024. All rights reserved.