首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Azure DevOps (成功构建后)调度Python的执行?

如何在Azure DevOps (成功构建后)调度Python的执行?
EN

Stack Overflow用户
提问于 2019-12-08 20:53:26
回答 1查看 1.2K关注 0票数 0

我有一座Azure管道。*.yaml文件正确地执行Python (PythonScript@0)。这个脚本本身创建(如果不存在),执行和发布Azure ML管道。当构建手动执行或提交触发时,它运行良好。

但我想每天安排ML管道(Python脚本)的自动执行。

我尝试了以下方法:

代码语言:javascript
复制
pipeline_id = published_pipeline.id
recurrence = ScheduleRecurrence(frequency="Day", interval=1)
recurring_schedule = Schedule.create(ws, 
                                     name=<schedule_name>, 
                                     description="Title", 
                                     pipeline_id=pipeline_id,  
                                     experiment_name=<experiment_name>, 
                                     recurrence=recurrence)

在这种情况下,管道在3-4秒内运行,并成功终止。但是,没有执行Python脚本。

此外,我试图使用Build来安排管道的执行,但我认为这是一种错误的方法。它重新构建了一个管道,但我需要执行以前发布的管道。

代码语言:javascript
复制
schedules:
- cron: "0 0 * * *"
  displayName: Daily build
  always: true

如何每天执行已发布的管道?我应该使用发行版(哪些代理,哪些任务?)

EN

回答 1

Stack Overflow用户

发布于 2019-12-09 07:48:05

此外,我试图使用Build来安排管道的执行,但我认为这是一种错误的方法。它重新构建了一个管道,但我需要执行以前发布的管道。

假设与python相关的任务在许多其他任务之后运行,那么不建议简单地调度整个构建管道,它将重新运行管道(其他tasks+python脚本)。

只有管道可以调度替代任务,所以我建议您可以创建一个新的构建管道来运行python脚本。而且,私有代理更适合这种情况。

现在我们得到了两个管道:原始的A和B,它们曾经运行python脚本。

  1. 将B的建造完成设置为A,这样如果A第一次成功构建,B将在此之后运行。
  2. 添加命令行任务或PS任务作为管道A的最后一个任务.此任务(修改yml,然后推送更改)将负责将B的相应xx.yml文件更新为附表B
  3. 这样,如果A(其他任务)成功构建,B(运行python脚本的管道)将执行。在那次成功的建造之后,B将每天运行。

希望它有帮助,如果我误解了什么,请随时纠正我。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59239805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档