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 .

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


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


DescriptionIt 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)


DescriptionIt 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" }
}