美文网首页
使用监听器执行定时任务

使用监听器执行定时任务

作者: 金声玉振 | 来源:发表于2015-11-16 17:47 被阅读274次

freeshare有个功能:应用机器人定时向企业发送用户活跃度的帖子,这里需要通过struts2<listener> 设定监听,并通过Listener类设置定时任务,我本来想设定每周日晚上某个时间执行任务,不依赖于我部署的时间,因为一部署就会开始启动listener:

//Get the Date corresponding to 11:01:00 pm today.

Calendar calendar = Calendar.getInstance(); //这里会获取当前时间周年月日时分秒

calendar.set(Calendar.HOUR_OF_DAY,23);

calendar.set(Calendar.MINUTE,25);

calendar.set(Calendar.SECOND,0);

Date time = calendar.getTime();

timer =newTimer();

timer.schedule(newRemindTask(), time);

timer.schedule(task, time);// time为Date类型:在指定时间执行一次(并不会定期执行,执行完一次就结束)

这个方法的源码中有句英文:

Schedules the specified task for execution at the specified time.  If the time is in the past, the task is scheduled for immediate execution.

我写的时候是周一,我设置的calendar是周日,但是他会自动认为是上周日(也就是昨天),所以我一运行工程他就会执行一遍,但是我设置周二就不会execute immediately。

注意,我的要求是每周定时执行,所以其实这样设时间是不行的,只能通过:

timer.schedule(task, delay, period)// delay为long,period为long:从现在起过delay毫秒以后,每隔period毫秒执行一次。

这种方式定时执行,这样会依赖于我部署的时间,不知道还有没有其他解决方法。

相关文章

  • 使用监听器执行定时任务

    freeshare有个功能:应用机器人定时向企业发送用户活跃度的帖子,这里需要通过struts2 设定监听,并通...

  • Quartx 定时执行任务的简单使用

    定时执行任务一般可以使用新建一个线程,让循环执行,这里就介绍下使用Quartx来进行定时执行任务 Maven引入 ...

  • SpringBoot中@Scheduled执行原理解析

    一:前言 本文主要介绍Spring Boot中使用定时任务的执行原理。 二:@Scheduled使用方式 定时任务...

  • springboot使用定时器

    使用定时器 开启定时任务功能 配置定时任务 任务执行规则 @Scheduled注解: cron:指定cron表达式...

  • Day 23 定时任务

    1.什么是定时任务 定点执行,某个job. 2.为什么用定时任务? 3.定时任务使用情况? 4.定时任务如何使用?...

  • Linux 秒级定时任务

    秒级定时任务脚本 crontab -e 增加定时任务 此写法不能使用 sh 执行。

  • 定时任务

    Linux定时任务 什么是定时任务: 周期性的执行任务计划的软件,linux里定时任务常用软件有:Crond 使用...

  • Quartz 好的定时任务开源库

    使用背景:相信大家在工作过程中,肯定会遇到很多任务定时执行,修改定时任务的时间,执行一次定时任务等等。下面我就通过...

  • Dnmp环境添加定时任务

    利用Dock环境搭建lnmp,有些业务需用使用到cron定时任务,在添加定时任务的时候,定时任务不执行的坑点分析。...

  • scrapy定时执行抓取任务

    在ubuntu环境下,使用scrapy定时执行抓取任务,由于scrapy本身没有提供定时执行的功能,所以采用了cr...

网友评论

      本文标题:使用监听器执行定时任务

      本文链接:https://www.haomeiwen.com/subject/hjikhttx.html