Cron Expression for last working day or Friday - java

I have to create the batch job which will run on Fridays and last working day of the month.
I tried simple expression like "0 0 12 LW * 5" but its taking AND condition of (Last working day falling on Friday) while I need a OR condition like if its Friday or last weekday today then run the batch.
Can anyone please help with doing same with a cron expression ?

Related

Creating a weekly Trigger which execute on particular days of week (Quartz Scheduler API)

I am trying to build a Trigger in Quartz Scheduler API 2.3.0 version which should get executed with the following criteria.
1.Start on particular date (Jan 25, 2021)
2.Start at predefined time (08.00.00 AM)
3.Once in every 2 weeks
4.On these particular days of week (Monday,Tuesday,Friday etc)
but I am confused how I should add the condition to execute this trigger on particular days of week
You could use this cron scheduling 0 8 * * 1,2,5.
It triggers at minute 0 at hour 8, at every day of the month and at every month, but only at the weekday 1,2 and 5 which are Monday, Tuesday and Friday respectively.
And for the biweekly scheduling i would count the weeks since 2021-01-25 and check if weeks % 2 == 0 and return from the task prematurely. Analogues for the starting date.

Cron Expression to run every Alternate Monday in Java CronJob

I've one Job running Every First Monday. I am using CronTrigger for that. My cron expression for existing job is as below.
0 0 0 ? * MON#1
Now, I want to change it to run on every alternate Monday of every Month.
Means on
1st Monday,
3rd Monday,
5th Monday like that.
my class for cron scheduler is
org.springframework.scheduling.quartz.CronTriggerBean

Spring scheduler - Spring cron expression for once every last month of quarter on earliest of the last 5 weekdays?

We have a requirement to trigger a spring scheduler once every last month of quarter and earliest of the last 5 weekdays.
Is it possible to do this using spring cron expression? Or should we go ahead with using a cron for every 3rd month of quarter and have checks in java code to handle the condition of earliest of the last 5 weekdays?
We used a spring cron expression to run the scheduler every weekday of days 26th to 29th of Mar, Jun, Sep, Dec months. Then in java code we checked whether it is earliest of the weekdays.

Cron expression for the second to last day of week of the month

I want to trigger the second to last day of week of the month.
Typically, here is the last friday of the month (ex : 30/06/2017)
0 0 0 ? * FRIL
And I want the second to last (ex : 23/06/2017)
0 0 0 ? * FRIL-1
But this syntax return the same result as before (with the Quartz scheduler and with cronmaker)
The second to last day of week of the month can appear either the 3rd or the 4th week of the month.
So it's :
either : 0 0 0 ? * FRI#3
or : 0 0 0 ? * FRI#4
Do you have any advice ?
I don't think you can express that using cron syntax.
I can think of some work-arounds, though:
You could schedule your job every Friday and have some in-job logic to check whether it is actually the second-to-last before going on.
Another option would be to create a dummy cron trigger for the last Friday, retrieve the "next fire time", substract 7 days from that date and create the actual trigger using that exact date -- but you'd have to do that for every week (either by pre-scheduling several triggers, or by having your job re-schedule itself after each run).

CronScheduleBuilder in Quartz Scheduler in java

I am using Quartz Scheduler and i need to make a scheduler which will execute specific job at every three months into the program. so how do i make that cronExpression so i can do this things in java?
I need one month,Two month six month interval.
This expression is tested and works perfectly for quartz 2.2
"0 0 0 1 1/3 ?"
The above expression will fire every 3 months starting Jan 1st at 00:00 hours. Next will be on April 1st at 00:00 hrs.
for every 2 months use this
"0 0 0 1 1/2 ?"
You can change the first three zeros as you like. They refer to the time on the 1st of the month. The next number ,ie, "1" in my case is the date.

Categories

Resources