我尝试使用quartz_jobs.xml 来安排我的所有作业,但以下 XML 会导致错误:
cron-表达式元素无效。值 '0 0 23 1/1 * ?*' 根据其数据类型无效。
这是 XML:
<?xml version="1.0" encoding="utf-8" ?>
<job-scheduling-data xmlns="http://www.quartz-scheduler.org/xml/JobSchedulingData"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.quartz-scheduler.org/xml/JobSchedulingData http://www.quartz-scheduler.org/xml/job_scheduling_data_1_8.xsd"
version="1.8">
<schedule>
<job>
<name>AUI</name>
<group>Group1</group>
<description>Archive Unpublished Incidents</description>
<job-class>ArchiveUnpublishedIncidents</job-class>
</job>
<trigger>
<cron>
<name>AUITrigger</name>
<group>TriggerGroup1</group>
<job-name>AUI</job-name>
<job-group>Group1</job-group>
<!-- trigger every night at 11 pm -->
<cron-expression>0 0 23 1/1 * ? *</cron-expression>
</cron>
</trigger>
</schedule>
</job-scheduling-data>
Run Code Online (Sandbox Code Playgroud)
那个 cron 表达式有什么问题?
是否可以通过单个表达式安排作业从周一到周五的 8 点到 9.30 每 5 分钟运行一次?我唯一想到的就是把它分成两部分,8-9 和 9-9.30。然后将有两个表达式: * */5 8 * * MON-FRI 和 * 5-30/5 9 * * MON-FRI。
我需要针对工作日和周末制定不同的自动缩放策略。
到目前为止,我弄清楚了如何每天设置相同的策略。cmd 调用和 CRON 字符串如下所示:
as-put-scheduled-update-group-action TNUPWN --auto-scaling-group TNASG --region us-west-2 --recurrence "30 18 * * *" --desired-capacity 1
Run Code Online (Sandbox Code Playgroud)
但是当我尝试仅为工作日设置 CRON 字符串时,例如
30 7 ? * MON-FRI *
or
0 30 7 ? * MON-FRI *
Run Code Online (Sandbox Code Playgroud)
我收到错误
as-put-scheduled-update-group-action: Malformed input-Given recurrence string:30 1 ? * MON-FRI * is
invalid
Usage:
as-put-scheduled-update-group-action
ScheduledActionName --auto-scaling-group value [--desired-capacity
value ] [--end-time value ] [--max-size value ] [--min-size value ]
[--recurrence value ] [--start-time value ] [--time value ]
[General Options]
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?AWS 也可以实现吗?
我想知道解析 cron 表达式并返回 Java 中的时间点列表的最有效方法/最佳库是什么。
例如,我将有一个 cron 表达式,并且Fire every minute in October 2010
会返回与触发器触发时间相对应的纪元时间(或其他日期格式)的列表/数组。
谢谢
我需要按照这个cron
时间表运行一项工作,但似乎我无法用一句话来表达这一点。有没有办法在一个cron
声明中得到这个?
周一至周六上午 8 点
下午 2 点
谢谢。
我可以使用nodejs cron-job 每隔一小时(从“现在”开始)安排使用这个cron 表达式。
但我需要从特定时间开始每隔一小时设置一次 q cron 。例如,假设从凌晨 3:30 开始。这可以做到吗?
我的工作要求是: 1.每15分钟一班 2.每天早上8:00am至次日03:00am
因此,该作业从上午 08:00 到第二天凌晨 03:00 每 15 分钟运行一次。
这可以使用 cron 表达式来实现吗?
尝试过这个,但似乎没有帮助。
0 0/15 8-3 * * ?
Run Code Online (Sandbox Code Playgroud)
谢谢,瓦吉德
我需要一个 cron 表达式,从 2016 年 1 月 25 日开始,它每天中午 12 点都会触发。这就是我的想法:
0 0 12 25/1 * ? *
Run Code Online (Sandbox Code Playgroud)
但1月31日之后,下一次发射时间是2月25日。
有没有一个 cron 表达式可以做到这一点?如果没有我可以用什么?
不知道下面的表述是否正确:
<property name="cronExpression" value="0 0 12 2 * MON-FRI ?"/>
Run Code Online (Sandbox Code Playgroud)
我尝试将我的触发器配置为每个月的第二天触发,无论年份如何,中午,一周中的某一天必须在周一和周五之间。
如果有人可以帮助我,我将不胜感激。提前致谢。
我正在使用 springs 任务调度程序(ConcurrentTaskScheduler)来安排我的任务。我正在使用 API
public ScheduledFuture schedule(Runnable task,Trigger trigger)
Run Code Online (Sandbox Code Playgroud)
执行我的任务。我使用的触发器是 CronTrigger。
我使用以下语句初始化触发器
Trigger trigger = new CronTrigger(cronExp);
Run Code Online (Sandbox Code Playgroud)
我需要以这样的方式编写一个 cronExp,使其在特定日期开始并从那时起每天执行。
我检查了 ConcurrentTaskScheduler 的 API,但我可以找到合适的 API 来实现/我可能错过了一些 API。
谁能建议我一种方法来实现上述要求?
cronexpression ×10
cron ×5
amazon-ec2 ×1
crontab ×1
crontrigger ×1
date ×1
epoch ×1
java ×1
node.js ×1
quartz.net ×1
spring ×1