Dolphin Scheduler : planning execution calendar - jobs

I am starting using Dolphin Scheduler for essentially executing some shell command lines within my structure.
jobs are in the same workflow , but shouldn't run all at the same frequency.
example :
Task1 => Task2 => task3 => task4
Task1 : From monday to friday except holidays.
Task2 : only mondays.
Task3 : only the first Day on the last Day of month
Task4 : Daily.
tasks should be sequenced and each time the prior task should be OK ( if it should run ) to let the successor run.
I don't know yet how to schedule tasks at a specific dates typically :
run the task only on the first day of the month
run from monday to tuesday.
define the holidays and don't run the jobs on those days
Is there a sort of calendar that can be plugged to my tasks / workflows ?
thank ou

Related

How to schedule biweekly SSRS subscription on 2017 report server

I would like my report to be sent biweekly on a Monday. Right now, I created two different subscriptions that sends the report on every 2nd and 4th week. I am not sure it would be accurate considering, I would like the send the report Monday after Pay period ends. What's a best way to approach to this?
A subscription can be created by Week and scheduled to repeat after 2 weeks. Monday can be selected as the day.
The schedule will show Every Monday of every two weeks.

Setup calendar in Autosys jil

I have below requirement in Autosys
The businessdates calendar is stored in the csv file. The businesdates will exclude weekends and US holidays.
I have to create a autosys job in such a way that the autosys job should only execute on above business day calendar.
On non-business days(weekends and holidays) the job shouldn't get triggered .
Thanks

Reoccurring SQL job to run on the 2nd and 4th Thursday of every month

I need a job to run on the 2nd and 4th Thursday of every month. I know I can set up a job to run every two weeks but that logic doesn't work when a month eventually hits a five week span. Is it possible to set this up using the SQL Server Agent Schedule? If not, does anyone recommend another method?
Create two schedules on the job, one that runs on the second Thursday, and one that runs on the fourth.
Under the Frequency heading on the Scheduler, change the Occurs drop down to Monthly to get to the options you need.

T-SQL Task generator script

I need to create a T-SQL (I`m using SQL Server 2008 Express) script (procedure/function) that takes entries from a "Tasks" table and generates only the tasks planned to occur in the next 5 hours.
In the "Tasks" table I should have tasks with job like properties :
Occurrence : One time or Recursive
Frequency : every x Days, Weeks, Months
Depending on the Frequency :
For Daily : every x hours,minutes
For Weekly -Days of the week when the task should occur
For Monthly - The first,second,last -day,week day,weekend -
day of week OR The 1st, 2nd, 3rd..31st of the month.
When I run the script I should get only the tasks that will occur in the next 5 hours or less in the case if task occurs every x minutes.
So what this script should actually do is use all the options from a SQL Server Job for a task.
Example1: I create a task "Check email" that occurs every day, between 14:00 and 15:00 . When i run the script at 09:00 I would get Task:"Check email" Time:5 hours left until task, because it occurs every day, i should be able to get this result every day when I roll the script ,only if that 5 hours or less range .
Example2: A task "Send hours report" that occurs Monthly, on the 1st week day (not weekend), at 01:00 PM . Running the script on the first week day of the month at 08:00 AM I should get Task:"Send hours report" Time:5 hours until task
I know it's a quite big request but hopefully someone will find it easy what for me seems pretty hard.
You should also store somewhere the date/time of the last execution of each job (at least for jobs that are configured for every x hours/minutes). The idea is to calculate the next execution date/time for each job, and return it if it's less than 5 hours away. If the job is configured for every x hours/minutes, use DATEADD and check if the result is within the configured timeframe. If the job is configured for daily (at a specified time), just check if the specified time is less than 5 hours away (but still in the future). I have done a similar feature and it's not an easy thing to check for all cases (it took me a few days of coding).

Autosys monthly job schedule

I know how to run autosys job on certain day in a week but how can i run once in a month.. like if i have to run job1 on 2nd day of the month .. any help would be good for me.. thank you
You can specify a day of the month with an extended calendar with the condition MNTHD#nn, where nn is the nnth day of the month.
The extended calendar can be defined like
extended_calendar: second_of_month
condition: MNTHD#2
and you can include the calendar as the run_calendar attribute of your job like
insert_job: job1
run_calendar: second_of_month
Find more information here on the different conditions for an extended calendar.
Use a run calendar. Create a calendar with the days you want the job to run on and add that calendar to the job. The current version of Autosys, R11 allows you to use logic to create calendars. For example the first business day of the month.