关于quartz-2.2.1出现任务执行一段时间后不执行的问题

使用的是quartz-2.2.1.jar,当有很多任务(不同的执行时间)同时使用一个job后,有些任务执行一段时间后就是不自动执行(执行中断),而且上一次的执行是完成了的,没有任何报错。后来认为是线程的问题,我把quartz.properties中设置线程数量大于我的任务数,结果是执行时间会长一些,但是一段时间后,还是会中断,难道就只有分成多个job来执行了吗?请问大家是否遇到这样的问题,是怎么样解决的?

无日志,就像假死一样

1个回答

排查下,比如数据库的数据不完整,你的代码丢出异常等等,加上日志,看看最后一次执行的状态是什么

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Quartz2.2.1暂停任务,过一段时间恢复任务,会运行这段时间换存的任务,怎么去掉?

Quartz2.2.1暂停任务,过一段时间恢复任务,会运行这段时间换存的任务,或者是突然关闭项目, 过一段时间重启,quartz读取数据库的任务信息也会运行多次,怎么设置当任务暂停后,等到恢复 时不执行前面缓存的任务? 我用的是最新版,一些属性设置都变了,求高手帮忙解答?

quartz定时任务执行一段时间停止了

quartz定时任务执行一段时间停止了,我设置的每2秒调用一次,跑了8次之后停止了,然后我发现是连接数的问题,好像是没关闭,我应该怎么解决这个问题

quartz 2.2.1动态时间配置

做了一个quart测试 main: ``` public class QuartzMain { public static void main(String[] args) throws SchedulerException { JobDetail testJobDetail=JobBuilder .newJob(TestJob.class) .withIdentity("myTestJob", "myGroup") .build(); CronScheduleBuilder cronScheduleBuilder=CronScheduleBuilder.cronSchedule("0/5 * * * * ?"); Trigger trigger=TriggerBuilder.newTrigger() .withIdentity("myTrigger", "myGroup") .withSchedule(cronScheduleBuilder) .build(); Scheduler scheduler=StdSchedulerFactory.getDefaultScheduler(); scheduler.scheduleJob(testJobDetail, trigger); scheduler.start(); System.err.println(scheduler.toString()); } } ``` TestJob.class ``` public class TestJob extends BaseJob { private Logger logger=Logger.getLogger(TestJob.class); private DateFormat formate=new SimpleDateFormat("HH:mm:ss"); @Override protected void invoke(Scheduler scheduler, Trigger trigger) { logger.info("dateTime:==>"+formate.format(new Date())); } } ``` BaseJob.java ``` public abstract class BaseJob implements Job { /* (non-Javadoc) * @see org.quartz.Job#execute(org.quartz.JobExecutionContext) */ public final void execute(JobExecutionContext context) throws JobExecutionException { //context.get invoke(context.getScheduler(),context.getTrigger()); refresh(context.getScheduler(),context.getTrigger()); } private void refresh(Scheduler scheduler,Trigger trigger){ try { CronTriggerImpl triggerImpl=(CronTriggerImpl)trigger; triggerImpl.setCronExpression("0/8 * * * * ?"); scheduler.rescheduleJob(trigger.getKey(), triggerImpl); } catch (Exception e) { e.printStackTrace(); } } protected abstract void invoke(Scheduler scheduler,Trigger trigger); } ``` 刚开始,我是让他执行完,就重置trigger执行时间 我发现根本就不能重置trigger执行时间,反而变的更快了: 15:43:35,040 INFO TestJob:27 - dateTime:==>15:43:35 15:43:40,002 INFO TestJob:27 - dateTime:==>15:43:40 15:43:40,003 INFO TestJob:27 - dateTime:==>15:43:40 15:43:40,005 INFO TestJob:27 - dateTime:==>15:43:40 15:43:40,008 INFO TestJob:27 - dateTime:==>15:43:40 15:43:40,010 INFO TestJob:27 - dateTime:==>15:43:40 15:43:40,011 INFO TestJob:27 - dateTime:==>15:43:40 15:43:40,013 INFO TestJob:27 - dateTime:==>15:43:40 15:43:40,015 INFO TestJob:27 - dateTime:==>15:43:40 15:43:40,016 INFO TestJob:27 - dateTime:==>15:43:40 15:43:40,017 INFO TestJob:27 - dateTime:==>15:43:40 15:43:40,019 INFO TestJob:27 - dateTime:==>15:43:40 . . . . ------------------------------------------------------- 后来我这样做:把这个重置trigger时间的代码放在main方法里面可以实现: ``` public static void main(String[] args) throws SchedulerException, ParseException { JobDetail testJobDetail=JobBuilder .newJob(TestJob.class) .withIdentity("myTestJob", "myGroup") .build(); CronScheduleBuilder cronScheduleBuilder=CronScheduleBuilder.cronSchedule("0/5 * * * * ?"); Trigger trigger=TriggerBuilder.newTrigger() .withIdentity("myTrigger", "myGroup") .withSchedule(cronScheduleBuilder) .build(); Scheduler scheduler=StdSchedulerFactory.getDefaultScheduler(); scheduler.scheduleJob(testJobDetail, trigger); scheduler.start(); CronTriggerImpl triggerImpl=(CronTriggerImpl)trigger; triggerImpl.setCronExpression("0/8 * * * * ?"); scheduler.rescheduleJob(trigger.getKey(), triggerImpl); System.err.println(scheduler); } ``` 15:45:48,039 INFO TestJob:27 - dateTime:==>15:45:48 15:45:56,000 INFO TestJob:27 - dateTime:==>15:45:56 15:46:00,001 INFO TestJob:27 - dateTime:==>15:46:00 15:46:08,001 INFO TestJob:27 - dateTime:==>15:46:08 15:46:16,000 INFO TestJob:27 - dateTime:==>15:46:16 . . . . .如果我想执行一次重置一下执行时间,该怎么做?

quartz定时任务运行一段时间停止了

quartz定时任务运行一段时间停止了,后来发现是连接用完了,应该是没关这个连接,我应该怎么解决,求大神

关于Quartz任务调试时间间隔与执行时间的问题

关于Quartz任务调试时间间隔与执行时间的问题,如果我在Quartz里设的启动时间为每2分钟执行一次,但是每次执行的时间却有5分钟,会是什么样的情况呢?会在任务执行2分钟后再次启动?还是等任务执行完后才启动。我现在是想让他执行完后才启动,要如何处理,谢谢,我用的是spring集成quartz.

quartz执行任务的时候突然停止不继续执行并且没有任何异常信息

在使用quartz框架的时候执行数据抓取任务,一共启动了2个job,都是每隔30分钟重新执行,表达式为0 0/30 * ? * * * 第一个任务执行的时间比较短在1个小时左右,第二个任务执行的时间比较长,3个小时左右,触发器触发之后每次执行2个多小时后就突然停止,后台和log也没有任何异常信息报出。我使用的是有状态的job。但是当使用2台服务器各自运行一个Job的时候使用相同的表达式,从早上运行到现在也没有任何问题。求解!

quartz 2.2.1 为什么不会执行myjob中的函数

代码如下: myjob拓展了job接口,可是程序执行的时候没有执行myjob中的print public class QuartzTest { public void run() throws Exception { // 调度工厂 SchedulerFactory sf = new StdSchedulerFactory(); // 从工厂中,获取一个任务调度实体 Scheduler sched = sf.getScheduler(); // 定义任务运行时间,这里的话,你需要改成你想要任务在什么时候执行 Date runTime = DateBuilder.evenSecondDate(new Date()); System.out.println("任务将在:" + runTime + "执行"); // 初始化任务实体 JobDetail job = JobBuilder.newJob(MyJob.class) .withIdentity("job1", "group1") .build(); // 初始化触发器 Trigger trigger = TriggerBuilder .newTrigger() .withIdentity("trigger1", "group1") .startAt(runTime) .build(); // 设置定时任务 sched.scheduleJob(job, trigger); // 启动定时任务 sched.start(); try { Thread.sleep(10000L); } catch (Exception e) { } // 停止 sched.shutdown(true); } public static void main(String[] args) throws Exception { QuartzTest example = new QuartzTest(); example.run(); } } class MyJob implements Job { @Override public void execute(JobExecutionContext context) throws JobExecutionException { System.out.println("任务正在执行,执行时间: " + Calendar.getInstance().getTime()); } }

spring+Quartz为什么定时任务不执行?

新手, 如题,我配置完成了spring+Quartz,但是单元测试的时候只执行了一遍就退出了,请问是为什么? ![图片说明](https://img-ask.csdn.net/upload/201810/23/1540274512_264535.png) ![图片说明](https://img-ask.csdn.net/upload/201810/23/1540274533_375089.png) ![图片说明](https://img-ask.csdn.net/upload/201810/23/1540274545_859813.png)

为什么c#中使用quartz执行一个定时任务(任务中使用了Parallel.For多线程)执行2个小时就会暂停一段时间?

1.c#中使用quartz执行一个定时任务(任务中使用了Parallel.For多线程)执行2个小时就会暂停一段时间? ``` //计算日期是星期一 if (tc.DayOfWeek == DayOfWeek.Monday) { ProjectUserRelationReadRepository proj = new ProjectUserRelationReadRepository(); var projsCount = proj.QueryProjectPeriod(tc.AddDays(7)); int pageSize = 1000; int totalPageCount = ((int)projsCount + pageSize - 1) / pageSize; int count = (int)Math.Ceiling((double)totalPageCount / 2); for (var j = 0; j < count; j++) { Parallel.For(0, 2, i => { var projs = proj.QueryProjectPeriod(tc.AddDays(7), 2 * j + i, pageSize); foreach (var p in projs) { try { var str = _reporterServices.CreatePage_Week_V2(tc, p); } catch (Exception ex) { _logger.Error(p, ex); } } }); } } ```

我用SpringBoot集合Quartz创建的定时任务为什么有时候不执行呢,也不报错

我用SpringBoot集合Quartz创建的定时任务为什么有时候不执行呢,也不报错,难道和线程并发有关?因为我的项目有好多定时器在跑,但是每个定时器基本都有自己的线程池,那为啥我的定时任务不执行呢,我在测试过程过,发现大部分不执行都是在我,删除一个定时任务后重新添加一个任务,新的任务就不执行了。这是为啥呢?

quartz单个任务执行时间太长?分布式?

quartz单个任务执行时间有8分钟左右,但是这一个任务中,是先调用rpc获取数据,然后用 这些数据去redis中取数据,最后再对这些数据进行处理。。。这里数据处理的耗时太长, 不知道可以采用quartz的分布式处理么?还是采用多线程呢?

为何spring quartz 定点不执行,但每隔一段时间可以执行

cronExpression如果配成“0 0 11 * * ?”,11点的时候没执行; 但配成“0 0/1 * * * ?”,每隔一分钟是执行的,请问一下是怎么回事?

Quartz 定时器动态修改执行时间修改后出现立即执行情况

问题描述: Spring 启动时加载定时器 执行点为 0 0 12 * * ? * 也就是每天12点执行 在11点左右修改为 0 0 14 * * ? * 也就是让它每天14点执行。 在12点多后又重新修改为 0 0 12 * * ? * 此时定时器立即执行了。 想知道是什么原因? 修改定时器的代码如下:job.getJobExpression() 就是传入的修改的执行时间 /** * @Title: modifyJobTime * @Description: 修改任务的执行频率 * @param job * @throws SchedulerException * @throws ParseException * @return void 返回类型 * @throws */ public void modifyJobTime(JobBean job) throws SchedulerException, ParseException { logger.info("进入修改定时任务方法。方法参数:" + job.getJobId()+","+job.getJobName()+","+job.getJobGroupName()+","+job.getJobExpression()); Scheduler scheduler = schedulerFactory.getScheduler(); TriggerKey triggerKey = TriggerKey.triggerKey(String.valueOf(job.getJobId()), job.getJobGroupName()); CronTrigger trigger = (CronTrigger) scheduler.getTrigger(triggerKey); if (trigger != null && !trigger.getCronExpression().equals(job.getJobExpression())) { CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule(job.getJobExpression()); // 按新的cronExpression表达式重新构建trigger trigger = trigger.getTriggerBuilder().withIdentity(triggerKey).withSchedule(scheduleBuilder).build(); // 按新的trigger重新设置job执行 scheduler.rescheduleJob(triggerKey, trigger); } else { logger.error("该任务不存在,jobName:" + job.getJobName() + ", jobGroupName:" + job.getJobGroupName()); } logger.info("离开修改定时任务方法。"); }

spring+quartz做的定时任务,tomcat启动没问题,就是定时任务不执行,是什么原因?

1.applicationContext_quartz.xml内容 ``` <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"> <!-- Spring定时任务 --> <!-- 定时任务 --> <bean id="quartzAction" class="com.test.action.QuartzTaskAction"/> <!-- 第一步:指定执行的类的方法名 --> <bean id="xhhf_jd" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject"><ref bean="quartzAction"/></property> <property name="targetMethod"><value>xhhfDates</value></property> </bean> <!-- 第二步:指定触发的类型 --> <bean id="xhhf_ct" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail"><ref bean="xhhf_jd" /></property> <property name="cronExpression" value="0/2 * * * * ?" /> </bean> <!-- 第三步:开启定时任务 --> <bean id="startQuertz" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="xhhf_ct"/> </list> </property> </bean> </beans> ``` 2.QuartzTaskAction.action内容 ``` package com.test.action; public class QuartzTaskAction{ public void xhhfDates(){ System.out.println("看我执行中。。。。"); } } ``` 3web.xml配置内容 ``` <context-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/config/applicationContext_*.xml </param-value> </context-param> ``` 4.tomcat启动日志 ``` 2015-3-14 10:21:11 org.apache.catalina.core.AprLifecycleListener init 信息: Loaded APR based Apache Tomcat Native library 1.1.30 using APR version 1.4.8. 2015-3-14 10:21:11 org.apache.catalina.core.AprLifecycleListener init 信息: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true]. 2015-3-14 10:21:12 org.apache.catalina.core.AprLifecycleListener initializeSSL 信息: OpenSSL successfully initialized (OpenSSL 1.0.1g 7 Apr 2014) 2015-3-14 10:21:12 org.apache.coyote.AbstractProtocol init 信息: Initializing ProtocolHandler ["http-apr-80"] 2015-3-14 10:21:12 org.apache.coyote.AbstractProtocol init 信息: Initializing ProtocolHandler ["ajp-apr-8009"] 2015-3-14 10:21:12 org.apache.catalina.startup.Catalina load 信息: Initialization processed in 1196 ms 2015-3-14 10:21:12 org.apache.catalina.core.StandardService startInternal 信息: Starting service Catalina 2015-3-14 10:21:12 org.apache.catalina.core.StandardEngine startInternal 信息: Starting Servlet Engine: Apache Tomcat/7.0.54 2015-3-14 10:21:19 org.apache.tomcat.websocket.server.WsSci onStartup 信息: JSR 356 WebSocket (Java WebSocket 1.0) support is not available when running on Java 6. To suppress this message, run Tomcat on Java 7, remove the WebSocket JARs from $CATALINA_HOME/lib or add the WebSocket JARs to the tomcat.util.scan.DefaultJarScanner.jarsToSkip property in $CATALINA_BASE/conf/catalina.properties. Note that the deprecated Tomcat 7 WebSocket API will be available. 2015-3-14 10:21:19 org.apache.catalina.core.ApplicationContext log 信息: Set web app root system property: 'Heli' = [D:\Tomcat\webapps\Heli\] 2015-3-14 10:21:19 org.apache.catalina.core.ApplicationContext log 信息: Initializing log4j from [D:\Tomcat\webapps\Heli\WEB-INF\log4j.properties] 2015-3-14 10:21:19 org.apache.catalina.core.ApplicationContext log 信息: Initializing Spring root WebApplicationContext servlet初始化。。。。 2015-3-14 10:21:29 com.sun.faces.config.ConfigureListener contextInitialized 信息: 初始化上下文 '' 的 Mojarra 2.0.3 (FCS b03) 2015-3-14 10:21:30 com.sun.faces.spi.InjectionProviderFactory createInstance 信息: JSF1048:有 PostConstruct/PreDestroy 注释。标有这些注释的 ManagedBeans 方法将表示注释已处理。 2015-3-14 10:21:33 org.apache.coyote.AbstractProtocol start 信息: Starting ProtocolHandler ["http-apr-80"] 2015-3-14 10:21:33 org.apache.coyote.AbstractProtocol start 信息: Starting ProtocolHandler ["ajp-apr-8009"] 2015-3-14 10:21:33 org.apache.catalina.startup.Catalina start 信息: Server startup in 21100 ms ``` 以上是全部内容,请问各位大神问题出在哪里了?急死了

quartz重复执行的问题

最近用到quartz做集群,需求每隔一段时间执行一次任务。 发现在配置较短的时间间隔,比如15秒钟执行一次时,会出现,服务器启动会有多个线程(不等,有时候2个,多的时候4个,quartz线程数目用的默认的10个)重复执行该任务。 控制台信息如下:![图片说明](https://img-ask.csdn.net/upload/201602/17/1455695692_26893.png) 而当我配置成1min执行一次的时候,就没有问题,不会重发执行。 主要的配置文件如下,求解,感谢感谢。 ``` <bean id="autoRepeatRequestTask" class="org.springframework.scheduling.quartz.JobDetailFactoryBean"> <property name="jobClass"> <value>com..job.AutoRequestRepeatJob</value> </property> <property name="durability" value="true" /> <property name="requestsRecovery" value="true" /> </bean> <!-- 定义触发时间 --> <bean id="autoRepeatRequestDoTime" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <property name="jobDetail"> <ref bean="autoRepeatRequestTask" /> </property> <!-- cron表达式 --> <property name="cronExpression"> <value>0 * * * * ?</value> <!--每分钟执行一次 --> </property> </bean> <!-- 总管理类 如果将lazy-init='false'那么容器启动就会执行调度程序 --> <bean id="startQuartz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean" destroy-method="destroy"> <property name="configLocation" value="classpath:quartz.properties" /> <property name="triggers"> <list> <ref bean="autoRepeatRequestDoTime" /> </list> </property> <property name="startupDelay" value="10" /> <property name="applicationContextSchedulerContextKey" value="applicationContextKey" /> </bean> ``` 执行的任务类: ``` @PersistJobDataAfterExecution @DisallowConcurrentExecution // 不允许并发执行 public class AutoRequestRepeatJob extends QuartzJobBean { private static final Logger LOGGER = LoggerFactory.getLogger(AutoRequestRepeatJob.class); @Override protected void executeInternal(JobExecutionContext context) throws JobExecutionException { System.out.println(Thread.currentThread().getName()+"------初始化了"+DateTimeUtils.getNowHHmmss()); RequestRepeatService requestRepeatService = getApplicationContext(context).getBean(RequestRepeatService.class); requestRepeatService.autoRepeatRequest(); } private ApplicationContext getApplicationContext(final JobExecutionContext jobexecutioncontext) { try { return (ApplicationContext) jobexecutioncontext.getScheduler().getContext().get("applicationContextKey"); } catch (SchedulerException e) { LOGGER.error("jobexecutioncontext.getScheduler().getContext() error!", e); throw new RuntimeException(e); } } } ```

quartz 集群环境下,停掉一个点,该点下的定时任务不被其他点承接,定时任务不再执行

集群环境下 springboot + quartz,停掉一个点,该点下的定时任务不被其他点承接,定时任务不再执行 两个job类20秒执行一次 0/20 * * * * ? 启动两个,能看到控制台的两个项目分别打印两个定时任务的日志,停掉其中一个项目,日志不变,停掉项目中的任务没有被运行的项目执行,运行的项目还执行原任务 配置文件 ``` #quartz集群配置 # =========================================================================== # Configure Main Scheduler Properties 调度器属性 # =========================================================================== #调度标识名 集群中每一个实例都必须使用相同的名称 org.quartz.scheduler.instanceName=DefaultQuartzScheduler #ID设置为自动获取 每一个必须不同 org.quartz.scheduler.instanceid=AUTO #============================================================================ # Configure ThreadPool #============================================================================ #线程池的实现类(一般使用SimpleThreadPool即可满足几乎所有用户的需求) org.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPool #指定线程数,至少为1(无默认值)(一般设置为1-100直接的整数合适) org.quartz.threadPool.threadCount=10 #设置线程的优先级(最大为java.lang.Thread.MAX_PRIORITY 10,最小为Thread.MIN_PRIORITY 1,默认为5) org.quartz.threadPool.threadPriority=5 #============================================================================ # Configure JobStore #============================================================================ # 信息保存时间 默认值60秒 org.quartz.jobStore.misfireThreshold=60000 #数据保存方式为数据库持久化 org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX #数据库代理类,一般org.quartz.impl.jdbcjobstore.StdJDBCDelegate可以满足大部分数据库 org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate #JobDataMaps是否都为String类型 org.quartz.jobStore.useProperties=false #数据库别名 随便取 org.quartz.jobStore.dataSource=myDS #表的前缀,默认QRTZ_ org.quartz.jobStore.tablePrefix=QRTZ_ #是否加入集群 org.quartz.jobStore.isClustered=true #调度实例失效的检查时间间隔 org.quartz.jobStore.clusterCheckinInterval=15000 ``` ``` @Configuration public class QuartzConfiguration { @Autowired DataSource dataSource; /** * 继承org.springframework.scheduling.quartz.SpringBeanJobFactory 实现任务实例化方式 */ public static class AutowiringSpringBeanJobFactory extends SpringBeanJobFactory implements ApplicationContextAware { private transient AutowireCapableBeanFactory beanFactory; @Override public void setApplicationContext(final ApplicationContext context) { beanFactory = context.getAutowireCapableBeanFactory(); } /** * 将job实例交给spring ioc托管 我们在job实例实现类内可以直接使用spring注入的调用被spring ioc管理的实例 * * @param bundle * @return * @throws Exception */ @Override protected Object createJobInstance(final TriggerFiredBundle bundle) throws Exception { final Object job = super.createJobInstance(bundle); /** * 将job实例交付给spring ioc */ beanFactory.autowireBean(job); return job; } } /** * 配置任务工厂实例 * * @param applicationContext spring上下文实例 * @return */ @Bean public JobFactory jobFactory(ApplicationContext applicationContext) { /** * 采用自定义任务工厂 整合spring实例来完成构建任务 see {@link AutowiringSpringBeanJobFactory} */ AutowiringSpringBeanJobFactory jobFactory = new AutowiringSpringBeanJobFactory(); jobFactory.setApplicationContext(applicationContext); return jobFactory; } /** * 配置任务调度器 使用项目数据源作为quartz数据源 * * @param jobFactory 自定义配置任务工厂 * @return * @throws Exception */ @Bean(destroyMethod = "destroy", autowire = Autowire.NO) public SchedulerFactoryBean schedulerFactoryBean(JobFactory jobFactory) throws Exception { SchedulerFactoryBean schedulerFactoryBean = new SchedulerFactoryBean(); // 将spring管理job自定义工厂交由调度器维护 schedulerFactoryBean.setJobFactory(jobFactory); // 设置覆盖已存在的任务 schedulerFactoryBean.setOverwriteExistingJobs(true); // 项目启动完成后,等待10秒后开始执行调度器初始化 schedulerFactoryBean.setStartupDelay(10); // 设置调度器自动运行 schedulerFactoryBean.setAutoStartup(true); // 设置数据源,使用与项目统一数据源 schedulerFactoryBean.setDataSource(dataSource); // 设置上下文spring bean name schedulerFactoryBean.setApplicationContextSchedulerContextKey("applicationContext"); // 设置配置文件位置 schedulerFactoryBean.setConfigLocation(new ClassPathResource("/application-quartz.properties")); return schedulerFactoryBean; } } ```

spring quartz定时器任务时间超过定时器时间间隔,任务中断

spring quartz定时器任务时间超过定时器时间间隔,任务中断。 大体意思就是,比如定时器是每隔十分钟进行一次,然后他执行的任务后来在10分钟之内执行不完,然后当下次定时器启动扫描的时候,第一次的任务还没有执行完,这个时候,这些任务就会被干掉,然后重新执行任务,对于这种问题,大婶们该怎么处理?

quartz定时循环做任务,几十个定时任务执行完整后,就不会从头开始继续循环做任务了

quartz定时循环做任务,几十个定时任务执行完整后,就不会从头开始继续循环做任务了,请教下大神们,可能的原因有哪些,该怎么解决?

Quartz 我一个调度器多调度多个任务,但是有时候不执行是为什么?

我是一个调度器去调度多个 jobDetail trigger ,但是有时候 调度不执行,也不报错,多个任务的jobDetail组名称和trigger组名用的是一个,和这个有关系吗? 代码如下:新增调度任务: ``` // 启动调度器 JobDetail jobDetail = JobBuilder.newJob(IotSchedulerTime.class).withIdentity(jobDetailName,jobDetailGroup).usingJobData("command", command).usingJobData("jobDetailName",jobDetailName).build(); // 表达式调度构建器(即任务执行的时间) CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule(cron); // 按新的cronExpression表达式构建一个新的trigger CronTrigger trigger = TriggerBuilder.newTrigger().withIdentity(triggerName,triggerGroup).withSchedule(scheduleBuilder).build(); scheduler.start(); scheduler.scheduleJob(jobDetail, trigger); ``` 删除代码: ``` TriggerKey triggerKey = TriggerKey.triggerKey(triggerName, triggerGroup); scheduler.pauseTrigger(triggerKey);// 停止触发器 scheduler.unscheduleJob(triggerKey);// 移除触发器 scheduler.deleteJob(JobKey.jobKey(jobDeatailName, jobDetailGroup));// 删除任务 ```

程序员的兼职技能课

获取讲师答疑方式: 在付费视频第一节(触摸命令_ALL)片头有二维码及加群流程介绍 限时福利 原价99元,今日仅需39元!购课添加小助手(微信号:csdn590)按提示还可领取价值800元的编程大礼包! 讲师介绍: 苏奕嘉&nbsp;前阿里UC项目工程师 脚本开发平台官方认证满级(六级)开发者。 我将如何教会你通过【定制脚本】赚到你人生的第一桶金? 零基础程序定制脚本开发课程,是完全针对零脚本开发经验的小白而设计,课程内容共分为3大阶段: ①前期将带你掌握Q开发语言和界面交互开发能力; ②中期通过实战来制作有具体需求的定制脚本; ③后期将解锁脚本的更高阶玩法,打通任督二脉; ④应用定制脚本合法赚取额外收入的完整经验分享,带你通过程序定制脚本开发这项副业,赚取到你的第一桶金!

Windows版YOLOv4目标检测实战:训练自己的数据集

课程演示环境:Windows10; cuda 10.2; cudnn7.6.5; Python3.7; VisualStudio2019; OpenCV3.4 需要学习ubuntu系统上YOLOv4的同学请前往:《YOLOv4目标检测实战:训练自己的数据集》 课程链接:https://edu.csdn.net/course/detail/28745 YOLOv4来了!速度和精度双提升! 与 YOLOv3 相比,新版本的 AP (精度)和 FPS (每秒帧率)分别提高了 10% 和 12%。 YOLO系列是基于深度学习的端到端实时目标检测方法。本课程将手把手地教大家使用labelImg标注和使用YOLOv4训练自己的数据集。课程实战分为两个项目:单目标检测(足球目标检测)和多目标检测(足球和梅西同时检测)。 本课程的YOLOv4使用AlexyAB/darknet,在Windows系统上做项目演示。包括:安装软件环境、安装YOLOv4、标注自己的数据集、整理自己的数据集、修改配置文件、训练自己的数据集、测试训练出的网络模型、性能统计(mAP计算)和先验框聚类分析。还将介绍改善YOLOv4目标检测性能的技巧。 除本课程《Windows版YOLOv4目标检测实战:训练自己的数据集》外,本人将推出有关YOLOv4目标检测的系列课程。请持续关注该系列的其它视频课程,包括: 《Windows版YOLOv4目标检测实战:人脸口罩佩戴检测》 《Windows版YOLOv4目标检测实战:中国交通标志识别》 《Windows版YOLOv4目标检测:原理与源码解析》

lena全身原图(非256*256版本,而是全身原图)

lena全身原图(非256*256版本,而是全身原图) lena原图很有意思,我们通常所用的256*256图片是在lena原图上截取了头部部分的256*256正方形得到的. 原图是花花公子杂志上的一个

快速入门Android开发 视频 教程 android studio

这是一门快速入门Android开发课程,顾名思义是让大家能快速入门Android开发。 学完能让你学会如下知识点: Android的发展历程 搭建Java开发环境 搭建Android开发环境 Android Studio基础使用方法 Android Studio创建项目 项目运行到模拟器 项目运行到真实手机 Android中常用控件 排查开发中的错误 Android中请求网络 常用Android开发命令 快速入门Gradle构建系统 项目实战:看美图 常用Android Studio使用技巧 项目签名打包 如何上架市场

Java调用微信支付

Java 使用微信支付 一. 准备工作 1.

汽车租赁管理系统需求分析规格说明书

汽车租赁管理系统需求分析规格说明书,这只是一个模板,如果有不会的可以借鉴一下,还是蛮详细的。。。。

C/C++跨平台研发从基础到高阶实战系列套餐

一 专题从基础的C语言核心到c++ 和stl完成基础强化; 二 再到数据结构,设计模式完成专业计算机技能强化; 三 通过跨平台网络编程,linux编程,qt界面编程,mfc编程,windows编程,c++与lua联合编程来完成应用强化 四 最后通过基于ffmpeg的音视频播放器,直播推流,屏幕录像,

程序员的算法通关课:知己知彼(第一季)

【超实用课程内容】 程序员对于算法一直又爱又恨!特别是在求职面试时,算法类问题绝对是不可逃避的提问点!本门课程作为算法面试系列的第一季,会从“知己知彼”的角度,聊聊关于算法面试的那些事~ 【哪些人适合学习这门课程?】 求职中的开发者,对于面试算法阶段缺少经验 想了解实际工作中算法相关知识 在职程序员,算法基础薄弱,急需充电 【超人气讲师】 孙秀洋&nbsp;| 服务器端工程师 硕士毕业于哈工大计算机科学与技术专业,ACM亚洲区赛铜奖获得者,先后在腾讯和百度从事一线技术研发,对算法和后端技术有深刻见解。 【课程如何观看?】 PC端:https://edu.csdn.net/course/detail/27272 移动端:CSDN 学院APP(注意不是CSDN APP哦) 本课程为录播课,课程无限观看时长,但是大家可以抓紧时间学习后一起讨论哦~

机器学习初学者必会的案例精讲

通过六个实际的编码项目,带领同学入门人工智能。这些项目涉及机器学习(回归,分类,聚类),深度学习(神经网络),底层数学算法,Weka数据挖掘,利用Git开源项目实战等。

Python入门视频精讲

Python入门视频培训课程以通俗易懂的方式讲解Python核心技术,Python基础,Python入门。适合初学者的教程,让你少走弯路! 课程内容包括:1.Python简介和安装 、2.第一个Python程序、PyCharm的使用 、3.Python基础、4.函数、5.高级特性、6.面向对象、7.模块、8.异常处理和IO操作、9.访问数据库MySQL。教学全程采用笔记+代码案例的形式讲解,通俗易懂!!!

我以为我对Mysql事务很熟,直到我遇到了阿里面试官

太惨了,面试又被吊打

深度学习原理+项目实战+算法详解+主流框架(套餐)

深度学习系列课程从深度学习基础知识点开始讲解一步步进入神经网络的世界再到卷积和递归神经网络,详解各大经典网络架构。实战部分选择当下最火爆深度学习框架PyTorch与Tensorflow/Keras,全程实战演示框架核心使用与建模方法。项目实战部分选择计算机视觉与自然语言处理领域经典项目,从零开始详解算法原理,debug模式逐行代码解读。适合准备就业和转行的同学们加入学习! 建议按照下列课程顺序来进行学习 (1)掌握深度学习必备经典网络架构 (2)深度框架实战方法 (3)计算机视觉与自然语言处理项目实战。(按照课程排列顺序即可)

Java62数据提取代码

利用苹果手机微信下面的wx.data文件提取出62数据,通过62可以实现不同设备直接登陆,可以通过文件流的方式用脚本上传到服务器进行解析

Python代码实现飞机大战

文章目录经典飞机大战一.游戏设定二.我方飞机三.敌方飞机四.发射子弹五.发放补给包六.主模块 经典飞机大战 源代码以及素材资料(图片,音频)可从下面的github中下载: 飞机大战源代码以及素材资料github项目地址链接 ————————————————————————————————————————————————————————— 不知道大家有没有打过飞机,喜不喜欢打飞机。当我第一次接触这个东西的时候,我的内心是被震撼到的。第一次接触打飞机的时候作者本人是身心愉悦的,因为周边的朋友都在打飞机, 每

2018年全国大学生计算机技能应用大赛决赛 大题

2018年全国大学生计算机技能应用大赛决赛大题,程序填空和程序设计(侵删)

Lena图像处理测试专业用图,高清完整全身原图

Lena图像处理测试专业用图,高清完整全身原图,该图片很好的包含了平坦区域、阴影和纹理等细节,这些都有益于测试各种不同的图像处理算法。它是一幅很好的测试照片!其次,由于这是一个非常有魅力女人的照片。

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

verilog实现地铁系统售票

使用 verilog 实现地铁售票

Python+OpenCV计算机视觉

Python+OpenCV计算机视觉系统全面的介绍。

Python可以这样学(第四季:数据分析与科学计算可视化)

董付国老师系列教材《Python程序设计(第2版)》(ISBN:9787302436515)、《Python可以这样学》(ISBN:9787302456469)配套视频,在教材基础上又增加了大量内容,通过实例讲解numpy、scipy、pandas、statistics、matplotlib等标准库和扩展库用法。

150讲轻松搞定Python网络爬虫

【为什么学爬虫?】 &nbsp; &nbsp; &nbsp; &nbsp;1、爬虫入手容易,但是深入较难,如何写出高效率的爬虫,如何写出灵活性高可扩展的爬虫都是一项技术活。另外在爬虫过程中,经常容易遇到被反爬虫,比如字体反爬、IP识别、验证码等,如何层层攻克难点拿到想要的数据,这门课程,你都能学到! &nbsp; &nbsp; &nbsp; &nbsp;2、如果是作为一个其他行业的开发者,比如app开发,web开发,学习爬虫能让你加强对技术的认知,能够开发出更加安全的软件和网站 【课程设计】 一个完整的爬虫程序,无论大小,总体来说可以分成三个步骤,分别是: 网络请求:模拟浏览器的行为从网上抓取数据。 数据解析:将请求下来的数据进行过滤,提取我们想要的数据。 数据存储:将提取到的数据存储到硬盘或者内存中。比如用mysql数据库或者redis等。 那么本课程也是按照这几个步骤循序渐进的进行讲解,带领学生完整的掌握每个步骤的技术。另外,因为爬虫的多样性,在爬取的过程中可能会发生被反爬、效率低下等。因此我们又增加了两个章节用来提高爬虫程序的灵活性,分别是: 爬虫进阶:包括IP代理,多线程爬虫,图形验证码识别、JS加密解密、动态网页爬虫、字体反爬识别等。 Scrapy和分布式爬虫:Scrapy框架、Scrapy-redis组件、分布式爬虫等。 通过爬虫进阶的知识点我们能应付大量的反爬网站,而Scrapy框架作为一个专业的爬虫框架,使用他可以快速提高我们编写爬虫程序的效率和速度。另外如果一台机器不能满足你的需求,我们可以用分布式爬虫让多台机器帮助你快速爬取数据。 &nbsp; 从基础爬虫到商业化应用爬虫,本套课程满足您的所有需求! 【课程服务】 专属付费社群+每周三讨论会+1v1答疑

获取Linux下Ftp目录树并逐步绑定到treeview

在linux下抓取目录树,双击后获取该节点子节点(逐步生成)。另外有两个类,一个是windows下的(一次性获取目录树),一个是linux下的(足部获取目录树)

YOLOv3目标检测实战系列课程

《YOLOv3目标检测实战系列课程》旨在帮助大家掌握YOLOv3目标检测的训练、原理、源码与网络模型改进方法。 本课程的YOLOv3使用原作darknet(c语言编写),在Ubuntu系统上做项目演示。 本系列课程包括三门课: (1)《YOLOv3目标检测实战:训练自己的数据集》 包括:安装darknet、给自己的数据集打标签、整理自己的数据集、修改配置文件、训练自己的数据集、测试训练出的网络模型、性能统计(mAP计算和画出PR曲线)和先验框聚类。 (2)《YOLOv3目标检测:原理与源码解析》讲解YOLOv1、YOLOv2、YOLOv3的原理、程序流程并解析各层的源码。 (3)《YOLOv3目标检测:网络模型改进方法》讲解YOLOv3的改进方法,包括改进1:不显示指定类别目标的方法 (增加功能) ;改进2:合并BN层到卷积层 (加快推理速度) ; 改进3:使用GIoU指标和损失函数 (提高检测精度) ;改进4:tiny YOLOv3 (简化网络模型)并介绍 AlexeyAB/darknet项目。

手把手实现Java图书管理系统(附源码)

【超实用课程内容】 本课程演示的是一套基于Java的SSM框架实现的图书管理系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的java人群。详细介绍了图书管理系统的实现,包括:环境搭建、系统业务、技术实现、项目运行、功能演示、系统扩展等,以通俗易懂的方式,手把手的带你从零开始运行本套图书管理系统,该项目附带全部源码可作为毕设使用。 【课程如何观看?】 PC端:https://edu.csdn.net/course/detail/27513 移动端:CSDN 学院APP(注意不是CSDN APP哦) 本课程为录播课,课程2年有效观看时长,大家可以抓紧时间学习后一起讨论哦~ 【学员专享增值服务】 源码开放 课件、课程案例代码完全开放给你,你可以根据所学知识,自行修改、优化

微信小程序开发实战之番茄时钟开发

微信小程序番茄时钟视频教程,本课程将带着各位学员开发一个小程序初级实战类项目,针对只看过官方文档而又无从下手的开发者来说,可以作为一个较好的练手项目,对于有小程序开发经验的开发者而言,可以更好加深对小程序各类组件和API 的理解,为更深层次高难度的项目做铺垫。

Java 最常见的 200+ 面试题:面试必备

这份面试清单是从我 2015 年做了 TeamLeader 之后开始收集的,一方面是给公司招聘用,另一方面是想用它来挖掘在 Java 技术栈中,还有那些知识点是我不知道的,我想找到这些技术盲点,然后修复它,以此来提高自己的技术水平。虽然我是从 2009 年就开始参加编程工作了,但我依旧觉得自己现在要学的东西很多,并且学习这些知识,让我很有成就感和满足感,那所以何乐而不为呢? 说回面试的事,这份面试...

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

三个项目玩转深度学习(附1G源码)

从事大数据与人工智能开发与实践约十年,钱老师亲自见证了大数据行业的发展与人工智能的从冷到热。事实证明,计算机技术的发展,算力突破,海量数据,机器人技术等,开启了第四次工业革命的序章。深度学习图像分类一直是人工智能的经典任务,是智慧零售、安防、无人驾驶等机器视觉应用领域的核心技术之一,掌握图像分类技术是机器视觉学习的重中之重。针对现有线上学习的特点与实际需求,我们开发了人工智能案例实战系列课程。打造:以项目案例实践为驱动的课程学习方式,覆盖了智能零售,智慧交通等常见领域,通过基础学习、项目案例实践、社群答疑,三维立体的方式,打造最好的学习效果。

微信小程序 实例汇总 完整项目源代码

微信小程序 实例汇总 完整项目源代码

基于西门子S7—1200的单部六层电梯设计程序,1部6层电梯

基于西门子S7—1200的单部六层电梯设计程序,1部6层电梯。 本系统控制六层电梯, 采用集选控制方式。 为了完成设定的控制任务, 主要根据电梯输入/输出点数确定PLC 的机型。 根据电梯控制的要求,

相关热词 c#对文件改写权限 c#中tostring c#支付宝回掉 c#转换成数字 c#判断除法是否有模 c# 横向chart c#控件选择多个 c#报表如何锁定表头 c#分级显示数据 c# 不区分大小写替换
立即提问
相关内容推荐