当前位置: 首页 > 知识库问答 >
问题:

在Java中周期性运行任务的一种更好的方法

林子石
2023-03-14
public void loadProduct() {
PropertyConfigurator.configure("log4j.properties");
try {
     service.create(product);
     logger.info("Creation started");
} catch (Exception e) {
  // Log Exception
     logger.error(e);
}
}
<task:scheduler id="scheduler" pool-size="1"/>

<task:scheduled-tasks scheduler="scheduler">
    <task:scheduled ref="productTask" method="loadProduct" cron="0/30 * * * * *"/>
</task:scheduled-tasks>

但是如何安排每天上午11点每24小时开始一次的任务呢?

或者有没有一种方法可以在Java代码中实现这一点?

共有1个答案

花飞扬
2023-03-14

但是如何安排每天上午11点每24小时开始一次的任务呢?

这可以通过使用cron表达式实现:0 0 11***

或者有没有一种方法可以在Java代码中实现这一点?

@Scheduled(cron = "0 0 11 * * *", zone = "Europe/Moscow")
public void run() {
    // ...
}
    null
 类似资料:
  • 执行周期性任务也是一样简单,您只需要编写一行代码: RecurringJob.AddOrUpdate(() => Console.Write("Easy!"), Cron.Daily); 此行在持久存储中创建一个新实体。 Hangfire Server中的一个特殊组件(请参阅 处理后台任务) 以分钟为间隔检查周期性任务,然后在队列中将其视作 fire-and-forget 任务。这样就可以照常跟踪

  • 本文向大家介绍ruby执行周期性任务的三种gem介绍,包括了ruby执行周期性任务的三种gem介绍的使用技巧和注意事项,需要的朋友参考一下 1.whenever 首先,whenever是基于linux的cron服务的,所以,在windows平台上没有直接的方法使用该gem。whenever严格来说应该算一个cron的翻译器,将ruby代码翻译为cron脚本,从而将周期性任务转交给cron实际去完成

  • 我正在开发一个登录网站的程序。它获得一些值,然后每135分钟左右在网站上进行一定的点击。值,“obtained_value”是从网站上读取的,每次点击程序都会递减一些值。我想运行程序,直到获得的值小于10。一旦发生这种情况,我想暂停程序直到达到目标时间并重新启动点击循环。我想在每次达到目标时间时都这样做。我在以下代码中实现了这个逻辑,但我的代码在达到目标时间后保持睡眠,而不是重新启动循环。我如何解

  • 我尝试定期在JavaFX应用程序后台线程中运行,这修改了一些GUI属性。 我想我知道如何使用和类从和不能弄清楚如何运行这样的周期性任务不使用方法。这将是很好的,如果我可以使用一些从编造方法() 我试图每5秒运行,这会重新启动,但它会立即挂起,因为甚至被调用... 最后我使用执行器。newSingleThreadScheduledExecutor(),它每5秒启动一次my,并使用以下命令运行另一个:

  • 系统 cron 作业 系统 cron 作业不是使用 crontab 命令定义的,而是在一组配置文件中配置的。系统 cron 作业是在两个位置定义的:/etc/crontab 和 /etc/cron.d/*。安装 cron 作业的软件包应当通过在 /etc/cron.d/ 中放置文件才能执行安装操作,但是,管理员还可以使用此位置来更轻松地将相关作业分到单个文件中,或者使用配置管理系统推送作业。/et

  • 问题内容: 在ScheduledExecutorService中运行时,是否有种不错的方法可以阻止任务内部重复任务? 可以说,我有以下任务: 从外部,很容易通过f.cancel()取消,但是如何在指定的位置停止重复?(通过AtomicReference传递Future是不安全的,因为当scheduleAtFixedRate返回f late并且变量也被延迟设置时,存在一个潜在的窗口,并且任务本身可能

  • 我实现了Spring云任务示例中给出的示例批处理作业示例。其中使用的 Spring 引导版本是 2.0.1.RELEASE。由于我必须移植另一个作业,因此我必须启动云任务,因此我想找到兼容的最旧版本。使用 1.3.2.RELEASE 创建的批处理作业的 jar 作为 Spring 引导版本成功运行。但是当我在将其添加为应用程序后从 Spring 云数据流的 UI 运行它时,出现以下错误:

  • 问题内容: 在ScheduledExecutorService中运行时,是否有种不错的方法可以阻止任务内部重复任务? 可以说,我有以下任务: 从外部,很容易通过f.cancel()取消,但是如何在指定的位置停止重复?(通过AtomicReference传递Future是不安全的,因为当scheduleAtFixedRate返回f较晚并且变量也设置得较晚时,存在一个潜在的窗口,并且任务本身可能已经运