Defining Scheduled Jobs

Defining Scheduled Jobs

In GEODI 5.1 and above versions, an automatic notification can be provided when a searched phrase is encountered.

Tasks to be run at times specified with jSettings files to be placed in Settings/Notifications/TimedNotification folder and emails to be sent can be specified.

There is no Macro object in the definition to be placed in this folder. Geodi/Mobidi Office is application-independent. If there is a subreport to be used, the objects to be referenced must access itself via Context .

Event information can be accessed with c.GetHttpItem("NoticifationArgs") in environments that can use macros.



General E-mail sending (Factory.ActionFactory: TimedSendMail object)



Description

It is used to send emails at the specified time.

Request

{ "__type": "Factory.ActionFactory:TimedSendMail", "BodyReport": "", "Attachments": [ { "Report": "", "DisplayName" : "" } ], "Subject": "..", "ToMail": "...", "Timed": { "Period": { "PeriodType": "Week", "Value": 1 } "Offset" : { "Days": 6, "Hours":22 , Minutes:30 } } }

Definition Values

  • BodyReport (path): It is the HTML report definition way to be used for the email body. Examples can be found under Settings/Notifications/Templates.

  • Attachments: Attachments list

    • Report (path) : It is the report definition path to be used for the attached file. Zip, HTML, Excel, CSV report definitions can be used. There are examples under Settings/Notifications/Templates.

    • DisplayName(string) : The name of the attachment file. If not defined, it is named with the additional order no.

  • Subject(string): It is the e-mail header. Supports simple macros. The query used is written in [Query], the number of results found is written in [TotalDoc].

  • ToMail (string): It allows sending messages to email addresses. Supports macros.

  • Language(string) : If defined, all Localize processes in the email are done with this language.

  • Timed: It is used to determine the start time and repeat period. The example here will run every Friday at 22:30.

  • Attributes : In any environment where macros can be used, the content can be accessed using the key given to the objects to be written. Example: c.GetHttpItem("MyNameAttribute")

Example

{ "__type": "Factory.ActionFactory:TimedSendMail", "BodyReport": "%App%\\Settings\\Notifications\\Templates\\MySimpleReport.html", "Subject": "Informative message", "ToMail":"....;....", "Timed": { "Period": { "PeriodType": "Week", "Value": 1 } "Offset" : { "Days": 6, "Hours":22 , Minutes:30 } } }





Running a command line task  (Factory.ActionFactory: TimedRunCommand object)



Description

It sends e-mails when the conditions to be determined are met.

Request

{ "__type": "Factory.ActionFactory:TimedRunCommand", "FileName": "", "Arguments": "", "UseShellExecute": true/false, "CreateNoWindow": true/false, "WorkingDirectory":"", "UserName":"", "Password":"", "Timeout":0; "Timed": { "Period": { "PeriodType": "Month", "Value": 3 } "Offset": { "Days": 20, "Hours":10 , Minutes:0 } } }

Definition Values

  • It is equivalent to the features in the ProcessStartInfo link. Definitions other than FileName are optional.

  • Timed: It is used to determine the start time and repeat period.

Example

{ "__type": "Factory.ActionFactory:TimedRunCommand", "FileName":"%SystemX86%\\cmd.exe ping 127.0.0.1 -r 9", "Timed": { "Period": { "PeriodType": "Day", "Value": 1 } "Offset": { "Hours":10 , Minutes:0 } } }

Time Definition Examples

The ScheduleSettings object is used in the Timed definition.

  • "Period" is the beginning of the repetition period.

    • When the PeriodType "Day" is set to Value 2, the trigger time is set to 0:00 every night for 2 days.

    • When the PeriodType "Week" is set to Value 1, the trigger time is set to 0:00 Every Sunday.

    • When the PeriodType "Hour" is set to Value 1, the trigger time is set every hour (0 minutes).

  • "Offset" is used to change the trigger time.

    • If 1 is set in Period.PeriodType "Day" and Offset.Hours value, the trigger time is delayed to 01:00 instead of 00:00 at night.

    • If period.PeriodType "Hour" and Offset.Minute value is set to 15, the trigger time will be delayed by 15 minutes every hour.

  • Does not run before the date to "Start". If left empty, no limit will be given.

  • Does not run after the date to "End". If left empty, no limit will be given

Everyday at 10:20

Timed: { Period: { PeriodType: "Day" }, Offset: { Hours:10, Minutes:20 } }

Every Friday at 17:00

Timed: { Period: { PeriodType: "Week" }, Offset: { Days:6 , Hours:17, Minutes:0 } }

Second calendar day of each month, 15:00

Timed: { Period: { PeriodType: "Month" }, Offset: { Days:2 , Hours:15, Minutes:0 } }

Fourth business day of the month 09:00

Timed: { Period: { PeriodType: "Month" }, Offset: { Days:4 , Hours:9, Minutes:0 }, DayCounting:"WorkDays" }

The third quarter of every year

Timed: { Period: { PeriodType: "Quarter", Value:3 } }

The first working day of every January 09:00

Timed: { Period: { PeriodType: "Year" }, Offset: { Hours:9, Minutes:0 }, DayCounting:"WorkDays" }

15:00 on the first Tuesday of every month 

Timed: { Period: { PeriodType: "Mounth" }, Offset: { Days:3, Hours:15, Minutes:0 } }

The first Tuesday of the month or the first business day after 15:00

Timed: { Period: { PeriodType: "Mounth" }, Offset: { Days:3, Hours:15, Minutes:0 }, DayCounting:"WorkDays" }

Every hour between 2 dates

Timed: { Start:"2019-12-02", End:"2019-12-10", Period: { PeriodType: "Hour" } }