- Subscribe to RSS Feed
- Mark Question as New
- Mark Question as Read
- Float this Question for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page
Helping setting up cron-based nifi processor
- Labels:
-
Apache NiFi
Created 10-26-2016 09:17 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm trying to setup a nifi processor to run once daily, using the 'cron' option under scheduling.
Under "run schedule", I put "01 18 * * * ?" , which should be 6:01pm (I couldn't get nifi to accept it without the question mark).
But this causes the scheduler to run on the hour, every hour.
Can someone please help me with my syntax here?
Created 10-26-2016 12:18 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The Cron you have there should run 18 minutes and 1 second into every hour.
What you really are looking for as a cron here for 6:01pm is ( 0 1 18 * * ? * or 0 1 18 * * ? )
- CRON driven: When using the CRON driven scheduling mode, the Processor is scheduled to run periodically, similar to the
Timer driven scheduling mode. However, the CRON driven mode provides significantly more flexibility at the expense of
increasing the complexity of the configuration. This value is made up of seven fields (where the seventh field is optional), each separated by a space. These
fields include:
- Seconds
- Minutes
- Hours
- Day of Month
- Month
- Day of Week
- Year
The value for each of these fields should be a number, range, or
increment.
Range here refers to a syntax of <number>-<number>.
For example,the Seconds field could be set to 0-30, meaning that the
Processor should only be scheduled if the time is 0 to 30 seconds
after the minute. Additionally, a value of *
indicates that all values are valid for this field. Multiple values can also
be entered using a ,
as a separator: 0,5,10,15,30
.
An increment is written as <start value>/<increment>. For example, settings a value of 0/10
for the seconds fields means that valid
values are 0, 10, 20, 30, 40, and 50. However, if we change this to 5/10
, valid values become 5, 15, 25, 35, 45, and 55.
For the Month field, valid values are 1 (January) through 12 (December).
For the Day of Week field, valid values are 1 (Sunday) through 7 (Saturday). Additionally, a value of L
may be appended to one of these
values to indicate the last occurrence of this day in the month. For example, 1L
can be used to indicate the last Monday of the month.
Thanks,
Matt
Created 10-26-2016 12:18 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The Cron you have there should run 18 minutes and 1 second into every hour.
What you really are looking for as a cron here for 6:01pm is ( 0 1 18 * * ? * or 0 1 18 * * ? )
- CRON driven: When using the CRON driven scheduling mode, the Processor is scheduled to run periodically, similar to the
Timer driven scheduling mode. However, the CRON driven mode provides significantly more flexibility at the expense of
increasing the complexity of the configuration. This value is made up of seven fields (where the seventh field is optional), each separated by a space. These
fields include:
- Seconds
- Minutes
- Hours
- Day of Month
- Month
- Day of Week
- Year
The value for each of these fields should be a number, range, or
increment.
Range here refers to a syntax of <number>-<number>.
For example,the Seconds field could be set to 0-30, meaning that the
Processor should only be scheduled if the time is 0 to 30 seconds
after the minute. Additionally, a value of *
indicates that all values are valid for this field. Multiple values can also
be entered using a ,
as a separator: 0,5,10,15,30
.
An increment is written as <start value>/<increment>. For example, settings a value of 0/10
for the seconds fields means that valid
values are 0, 10, 20, 30, 40, and 50. However, if we change this to 5/10
, valid values become 5, 15, 25, 35, 45, and 55.
For the Month field, valid values are 1 (January) through 12 (December).
For the Day of Week field, valid values are 1 (Sunday) through 7 (Saturday). Additionally, a value of L
may be appended to one of these
values to indicate the last occurrence of this day in the month. For example, 1L
can be used to indicate the last Monday of the month.
Thanks,
Matt
Created 10-26-2016 12:22 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
NiFi does not use a linux cron. It uses a Quartz cron/scheduler.
Created 10-26-2016 03:42 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
When I enter "0 0 18 * * * ?", I get this error message: "Scheduling Period '0 0 18 * * * ?' is not a valid cron expression: '?' can only be specified for Day-of-Month or Day-of-Week"
However, "0 0 18 * * ? *" seems to work.
What is the difference between the meaning of "*" and "?" ?
Created 10-26-2016 05:46 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
There are seven fields; however, the seventh field is optional. So you are correct.
so both " 0 0 18 * * ? " and " 0 0 18 * * ? * " are valid.
The below is from http://www.quartz-scheduler.org/documentation/quartz-2.x/tutorials/crontrigger.html
----------------
- * (“all values”) - used to select all values within a field. For example, “” in the minute field means *“every minute”.
- ? (“no specific value”) - useful when you need to specify something in one of the two fields in which the character is allowed, but not the other. For example, if I want my trigger to fire on a particular day of the month (say, the 10th), but don’t care what day of the week that happens to be, I would put “10” in the day-of-month field, and “?” in the day-of-week field. See the examples below for clarification.
-----------------
so only fields 4 and 6 will accept ?.
Thanks,
Matt
Created 11-18-2022 03:24 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
can you provide corn expression for this timing 12:00PM and 11:40AM
Created 11-22-2022 01:10 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@hargav
It is not possible to create single Quartz cron that will schedule at 12:00:00 PM and 11:40:00 AM each day.
However, the following would execute at 11:40:00AM and 12:40:00PM every day
0 40 11,12 * * ?
and following would execute at 11:00:00AM, 11:40:00AM, 12:00:00PM, and 12:40:00PM
0 0,40 11,12 * * ?
or
0 0/40 11,12 * * ?
Hope this helps you,
Matt
Created 11-22-2022 09:59 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi @MattWho
I want corn driven expression for 11:40 am separate and I want corn driven expression for 12:00pm separate
Please send those expressions
Created 11-28-2022 12:25 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@hargav
NiFi processor scheduled every day at 11:40AM:
0 40 11 * * ? *
NiFi processor Scheduled every day at 12:00PM:
0 0 12 * * ? *
If you found that the provided solution(s) assisted you with your query, please take a moment to login and click Accept as Solution below each response that helped.
Thank you,
Matt
Created 11-29-2022 09:42 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi @MattWho
I was used below corn expression for merge record but the data was not went to the queue in nifi platform ,We need to change any configuration in merge record ?
please suggest me any solution
0 40 11 * * ? *