我希望我的观察者仅从星期一到星期五运行。所以我正在尝试使用以下时间表:
"trigger": {
"schedule" : { "cron" : "0 0 0/4 * * MON-FRI" }
},
"input": {
...
但是,我越来越
Error
Watcher: [parse_exception] could not parse [cron] schedule
当我试图保存观察者时。删除
MON-FRI
确实有帮助,但我需要它。该表达式有效:
0 0 0/4 ? * MON-FRI
但我不确定我是否理解
?
is required for either the day_of_week
or day_of_month
谢谢!
最佳答案
我相信这是您要寻找的:
"0 0 0/4 ? * MON-FRI"
您可以使用croneval检查您的cron表达式1:
$ /usr/share/elasticsearch/bin/x-pack/croneval "0 0 0/4 ? * MON-FRI"
Valid!
Now is [Mon, 20 Aug 2018 13:32:26]
Here are the next 10 times this cron expression will trigger:
1. Mon, 20 Aug 2018 09:00:00
2. Mon, 20 Aug 2018 13:00:00
3. Mon, 20 Aug 2018 17:00:00
4. Mon, 20 Aug 2018 21:00:00
5. Tue, 21 Aug 2018 01:00:00
6. Tue, 21 Aug 2018 05:00:00
7. Tue, 21 Aug 2018 09:00:00
8. Tue, 21 Aug 2018 13:00:00
9. Tue, 21 Aug 2018 17:00:00
10. Tue, 21 Aug 2018 21:00:00
对于第一个表达式,您将获得以下java异常:
java.lang.IllegalArgumentException: support for specifying both a day-of-week AND a day-of-month parameter is not implemented.
您还可以使用Crontab guru来获取人类可读的描述,例如:
At every minute past every 4th hour from 0 through 23 on every day-of-week from Monday through Friday.
关于elasticsearch - 如何在工作日在Kibana中运行一个cron表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50448304/