我正在使用Java中的Quartz调度程序来运行cron作业。这是我第一次使用这个框架运行cron作业,所以我有些困惑。
我跟随本教程是为了更好地理解如何使用Quartz框架。
public class JobA implements Job {
@Override
public void execute(JobExecutionContext context)
throws JobExecutionException {
System.out.println("Job A is runing");
// print whether it is week or month
}
}
public class CronTriggerExample {
public static void main(String[] args) throws Exception {
JobKey jobKeyA = new JobKey("jobA", "group1");
JobDetail jobA = JobBuilder.newJob(JobA.class).withIdentity(jobKeyA)
.build();
Trigger trigger1 = TriggerBuilder
.newTrigger()
.withIdentity("dummyTriggerName1", "group1")
.withSchedule(CronScheduleBuilder.cronSchedule("5 8 * * 6 ?"))
.build();
Scheduler scheduler = new StdSchedulerFactory().getScheduler();
scheduler.start();
scheduler.scheduleJob(jobA, trigger1);
}
}
如果JobA每周运行,那么它应该打印出one-week
和report_week
。但是如果JobA每个月都在运行,那么它应该打印出one-months
和report_one_months
所以下一个问题是--有没有什么方法,我们可以在运行JobA时向它传递参数?
石英中cron的7个字段的含义:
second minute hour day month week year
年份
字段是可选的。*
表示每一个,例如,week
字段中的*
表示每一个星期,因此您应该在week
字段和month
字段中都使用*
。注意当指定周
字段时,不要忘记在日
字段中使用?
。
我的示例cron条目为您的要求是:
0 0 0 ? * *
希望有帮助。
我想基于cron表达式运行一个作业,但它应该在rest调用后从DB中查找cron表达式。 一旦rest api被命中,它应该等待cron表达式,我们可以从数据库或任何方法获得它,然后它应该在指定的时间启动。 它的工作方式与普通的方法调用类似。
问题内容: 我试图在docker容器中运行cron作业 但对我没有用 我的容器只有cron.daily和cron.weekly文件 crontab,cron.d,cron.hourly …在我的容器中不存在 crontab -e也无法正常工作 我的容器使用/ bin / bash运行 问题答案: 这是我运行我的cron容器之一的方法。 Dockerfile: crontab.txt entry.s
问题内容: 我正在尝试在调用shell脚本的docker容器中运行cronjob。 昨天我一直在网上搜索和堆栈溢出,但是我找不到真正可行的解决方案。 我怎样才能做到这一点? 编辑: 我已经创建了一个(带注释的)github存储库,上面有一个工作的docker cron容器,该容器以给定的时间间隔调用shell脚本。 问题答案: 您可以将crontab复制到映像中,以使从该映像启动的容器运行该作业。
我创建了一个(有注释的)github存储库,其中有一个工作的docker cron容器,它以给定的时间间隔调用一个shell脚本。
问题内容: 我只是想在CPanel中使用cron作业运行PHP脚本-这是正确的语法: 我没有收到任何电子邮件通知,说明cron已经完成,我需要对PHP文件做一些特定的事情吗? 问题答案: 在crontab系统中: 是php程序二进制文件路径(在某些系统的前夫不一样:在FreeBSD ,Linux的:) 应该是你的PHP脚本路径 应该是cron输出,例如: 因此,您可以通过查看cron输出来监视cr
问题内容: 我想以分离模式在docker容器中运行python cron作业。我的设置如下: 我的python脚本是test.py 我的cron文件是my-crontab 而我的Dockerfile是 这种方法潜在的问题是什么?还有其他方法,它们的优缺点是什么? 问题答案: 我在尝试使cron作业在docker容器中运行时遇到的几个问题是: Docker容器中的时间不是UTC的本地时间; dock