Spring Boot中的Scheduler任务出现问题

时间:2018-12-18 02:49:20

标签: java spring-boot scheduler splunk spring-boot-actuator

我正在使用Scheduler以fixeddelay = 120000自动运行。 有两个问题

1)。在调度程序中,有另一个服务的调用。对于每个迭代服务,必须调用一次,但在这种情况下,调用两次。两个实例分别调用[APP / PROC / WEB / 0]和[APP / PROC / WEB / 1]

12/17/18
3:15:18.751 PM  
422 <14>1 2018-12-17T09:45:18.751861+00:00 servicename-serverName 6a5a4df1-f683-4748-986d-aa3e2c289e6d [APP/PROC/WEB/0] - - 2018-12-17 09:45:18 INFO  Path.ClassName.callWorkflow(WorkFlowService.java:53)-|||||Response from Bonita :: {"taskId":0,"statusCode":0,"processVersion":"1.8","caseId":790,"processName":"ValidationFlow","statusMessage":"Success"}
host =  1.2.3.4 source =    tcp:1234 sourcetype =   rfc5424_syslog
12/17/18
3:15:18.258 PM  
422 <14>1 2018-12-17T09:45:18.258514+00:00 servicename-serverName 6a5a4df1-f683-4748-986d-aa3e2c289e6d [APP/PROC/WEB/1] - - 2018-12-17 09:45:18 INFO  Path.ClassName.callWorkflow(WorkFlowService.java:53)-|||||Response from Bonita :: {"taskId":0,"statusCode":0,"processVersion":"1.8","caseId":789,"processName":"ValidationFlow","statusMessage":"Success"}

host =  2.3.4.5 source =    tcp:1234 sourcetype =   rfc5424_syslog

2)。在完成第一次迭代之前,虽然我正在使用fixedDelay,但第二次迭代的开始就像固定速率一样。

Splunk日志:

12/17/18
2:55:14.657 PM  
280 <14>1 2018-12-17T09:25:14.657142+00:00 servicename-serverName 6a5a4df1-f683-4748-986d-aa3e2c289e6d [APP/PROC/WEB/1] - - 2018-12-17 09:25:14 INFO  Path.ClassName.execute(OrderScheduler.java:28)-|||||END OrderScheduler :: execute
host =  1.2.3.4 source =    tcp:9408 sourcetype =   rfc5424_syslog
12/17/18
2:55:14.441 PM  
282 <14>1 2018-12-17T09:25:14.441492+00:00 servicename-serverName 6a5a4df1-f683-4748-986d-aa3e2c289e6d [APP/PROC/WEB/1] - - 2018-12-17 09:25:14 INFO  Path.ClassName.execute(OrderScheduler.java:26)-|||||START OrderScheduler :: execute
host =  1.2.3.4 source =    tcp:9408 sourcetype =   rfc5424_syslog
12/17/18
2:53:15.454 PM  
280 <14>1 2018-12-17T09:23:15.454936+00:00 servicename-serverName 6a5a4df1-f683-4748-986d-aa3e2c289e6d [APP/PROC/WEB/0] - - 2018-12-17 09:23:15 INFO  Path.ClassName.execute(OrderScheduler.java:28)-|||||END OrderScheduler :: execute
host =  1.2.3.4 source =    tcp:9408 sourcetype =   rfc5424_syslog
12/17/18
2:53:14.440 PM  
280 <14>1 2018-12-17T09:23:14.440499+00:00 servicename-serverName 6a5a4df1-f683-4748-986d-aa3e2c289e6d [APP/PROC/WEB/1] - - 2018-12-17 09:23:14 INFO  Path.ClassName.execute(OrderScheduler.java:28)-|||||END OrderScheduler :: execute
host =  1.2.3.4 source =    tcp:9408 sourcetype =   rfc5424_syslog
*12/17/18
2:53:13.504 PM  
282 <14>1 2018-12-17T09:23:13.504977+00:00 servicename-serverName 6a5a4df1-f683-4748-986d-aa3e2c289e6d [APP/PROC/WEB/0] - - 2018-12-17 09:23:13 INFO  Path.ClassName.execute(OrderScheduler.java:26)-|||||START OrderScheduler :: execute
host =  1.2.3.4 source =    tcp:9408 sourcetype =   rfc5424_syslog
12/17/18
2:53:13.045 PM  
282 <14>1 2018-12-17T09:23:13.045063+00:00 servicename-serverName 6a5a4df1-f683-4748-986d-aa3e2c289e6d [APP/PROC/WEB/1] - - 2018-12-17 09:23:13 INFO  Path.ClassName.execute(OrderScheduler.java:26)-|||||START OrderScheduler :: execute
host =  1.2.3.4 source =    tcp:9408 sourcetype =   rfc5424_syslog*
12/17/18
2:51:13.504 PM  
280 <14>1 2018-12-17T09:21:13.504222+00:00 servicename-serverName 6a5a4df1-f683-4748-986d-aa3e2c289e6d [APP/PROC/WEB/0] - - 2018-12-17 09:21:13 INFO  Path.ClassName.execute(OrderScheduler.java:28)-|||||END OrderScheduler :: execute

我正在使用的代码如下:

@SpringBootApplication
@EnableScheduling
public class Application {
  public static void main(String[] args) {
     SpringApplication.run(Application .class, args);
  }
}

@Service
public class testScheduler() {
@Autowired
private ClassName service;

@Scheduled(fixedDelay = 120000)
public void start() {
   service.methodName();
 }
}

问题仅发生在服务器端,但是在本地系统中工作正常。 有人可以帮我解决这个问题吗?...谢谢

0 个答案:

没有答案