当前位置: 首页 > 面试题库 >

我如何安排将来要执行的工作,但是只有一次

姬慎之
2023-03-14
问题内容

我想安排一个在将来的指定时间最多执行一次的工作(通常该时间将是当晚的晚上,几个小时之后)。我想用詹金斯做到这一点。如果詹金斯在这段时间内碰巧倒下了,这份工作就不会被解雇-
很好。

目前,我正计划在启用“定期构建”的情况下进行一项新工作,并将时间表设置为“ 0 19 29 01 *”。

目的是安排作业在1月29日的19:00运行。

缺点是每次执行此操作时,我都必须记住要在明年之前的某个时间删除/禁用该作业,否则它将再次运行(那很不好)。无论如何,我都会手动检查作业的结果,所以做起来并不难。我只是希望有人能够指出一种安排Jenkins运行“一次性”作业的方法-
这样我就不会因为忘记禁用该作业而搞砸了。


问题答案:

安装“计划构建插件”。“增加了在以后的某个时间点安排构建的功能。向用户询问日期和时间,并将构建添加到具有相应静默期的构建队列中。”

即使您看到计划构建的图标,在插件安装后似乎也需要重新启动jenkins。

https://wiki.jenkins-
ci.org/display/JENKINS/Schedule+Build+Plugin

注意:初次安装(使用jenkins
2.2)后,我收到警告“插件提供了GET”。确实确实有某种计划的工作,它说它“在13小时内到期”,这对我的计划时间是正确的。它没有执行任务。:-(

看到的警告:

You must use POST method to trigger builds. (From scripts you may instead pass a per-project authentication token, or authenticate with your API token.) If you see this page, it may be because a plugin offered a GET link; file a bug report for that plugin.

网址,大概是GET:

http://jenkins:xxxx/job/jobname/build?delay=47212sec

这是Jenkins 2.2和Schedule Build Plugin 0.3.4

我现在可以使用我的jenkins 2.7.4和从源代码构建的Schedule Build Plugin。

解决方案: 使用最新的jenkins并等待新版本的插件(>
0.3.4)。。。(或从源代码构建)。该插件上已经存在一个关于GET问题的错误,并且已修复源代码,但尚未发布最新版本。2016年9月26日:https : //issues.jenkins-
ci.org/browse/JENKINS-28961 从源代码构建schedule_build.hpi可以正常工作。对于jenkins
2.2,如果在jenkins中禁用了CSRF保护,则可以正常工作。



 类似资料:
  • 我在詹金斯增加了一份新工作,我想定期安排。 在配置作业中,我选中了“定期构建”复选框,并在计划文本字段中添加了以下表达式: 15 13*** 但它不会在预定时间运行。 安排工作是正确的程序吗? 作业应在凌晨4:20运行,但未运行。

  • 问题内容: 我想从带有JDBC的Oracle DB表中获取DATETIME列。这是我的代码: 我必须先确定列类型。我感兴趣的字段被识别为Types.DATE,但实际上它是DB中的DATETIME,因为它具有以下格式:“ 07.05.2009 13:49:32” getDate截断时间:“ 07.05.2009”,getString追加“ .0”:“ 07.05.2009 13:49:32.0” 当

  • 我有坐标列表来画线。 实际上,问题是这些坐标不是按顺序排列的。 endpoint坐标是另一条线的起点坐标。如果任何线的endpoint坐标与另一线的起点坐标不匹配,则创建连接线列表。 线的坐标为startx、starty、endx、endy。 以下是线坐标列表。 3350 1500 3200 1500 1450 1750 1450 2200 1450 2200 2100 2200 2400 220

  • 我试图通过生成默认的CRUD应用程序来理解排序在GridView中是如何工作的。排序发生在单击相应的属性后,该属性是表头。列名称附加到带有变量排序的url上,单击时调用action方法,但我想知道的是,在带有实际变量的url中提到的action方法不存在于控制器中。 下面是一个例子 网址看起来像下面, /advanced/frontend/web/index.php?r=site/index 但是

  • 作者(AuthorID、AuthorName、Address、TelephoneNo、PublisherCode) 写一个查询,挑出并显示去年出书的作者的所有详细信息。 这是我回答的mysql查询,我想知道它是正确的还是有更好的方法写它?