Cron作业无限循环

时间:2015-02-18 06:02:35

标签: java playframework cron

我有一个关于cron工作的场景,请看下面:

import play.jobs.Job;
import play.jobs.On;

@On("1 * * * * ?")
public class TestCron2 extends Job {

    @Override
    public void doJob() {
        try {
            System.out.println("TestCron2 is calling");
            while(true){

            }

        } catch (Exception e) {
              e.printStackTrace();            
            }

        }
}

所以这项工作意味着每1分钟运行一次,但在第一次打印消息TestCron2 is calling时,它会进入无限循环。所以它无法出来。因此,下一分钟它不会打电话,因为第一次尝试本身尚未完成,也不会完成。

有人可以请您澄清以下事项:

  1. 这里我将无限while循环指向无限循环 情况,但在实际情况下我的cron工作没有完成他们的 因某种未知原因而被分配到工作。所以它不会打电话给下一个 时间间隔,但它并不总是发生。它发生在一个 一个月只有一两次。

  2. 解决方案是我需要重新启动服务器并再次启动它     工作正常。

  3. 但是有没有办法在不重启服务器的情况下重启cron作业?     我希望我能够正确解释这个问题,如果没有,请告诉我。非常感谢任何帮助。

0 个答案:

没有答案