如何在 Jira 中设置定时任务?
2022.07.21您是否想过在 Jira 中运行定时任务?为什么我在使用 Jira 后需要定时任务?可能很多人知道如何编写服务。虽然知道它的所有优点,但服务器仍然有缺点。它必须在 Jira 中重新启动才能启动,然后才能正常运行。如果您有一个需要大量内存密集型操作的任务,当你在一天中午重启了 Jira 后,您会突然发现示例的性能受损!如果计划每 24 小时运行一次,您会发现它总是在每天中午运行,直到您下次重新启动 Jira 。
在 Jira 中调度任务是确保所有类似操作在正确的时间运行的一个好方法,例如在清晨。在本文中,我们将编写一个实际示例,以了解实现它是多么容易。
创建新的调度任务的第一步是编写 Jira 类并实现 Quartz Job 接口。 Jira 在内部使用 Quartz 定期运行其任务,因此 Jira 配备了 Quartz 。我们计划的任务只是在控制台上打印一行信息,因此我们编写的 Java 类非常简单:
正如您所看到的,我们在这里需要做的是实现 execute 方法。无论如何,我们在这个方法中所做的事情可以像上面的代码那样简单,只需要一行代码,也可以像启动核爆炸一样复杂!
下一步是让 Jira 知道我们编写的新任务,并为其设置时间表。为此,我们首先需要创建一个新的 jar 文件,并将其放在 Jira 安装目录的 WEB-INF/lib 文件夹下。请注意,它不是 V2 插件,因此请将其放入 Jira_HOME/plugins/installed-plugins 中。它无法在路径下正常工作。
Jira 存储定时任务的信息在 WEB-INF/classes 路径下的 scheduler-config.xml 文件中。我们需要在这个文件中定义新任务的时间表。 首先我们需要在 jobs 标签下定义一个 job,如下所示:
然后,我们需要添加一个触发器来运行 JTricksJob 。在这一步中,我们定义 cron 表达式以在指定时间内运行作业。
上述定时器将每两分钟执行一次作业。有关编写 cron 表达式的更多详细信息,请参阅 here 。这样,规划任务就准备好了。现在,我们需要做的唯一一件事是重新启动 Jira 。
在 Jira 重新启动后,就可以在 Administration > Scheduler Details 页面中看到新创建的任务了。如下图,我们也可以在这个页面确认下任务的下次触发时间。
当任务运行时,你将会看到控制台输出如下信息:
来源:百家号 作者:51Testing 软件测试网