In this section you will learn how to create a DMS scheduled job starting from a template project. First of all download Samples from DMSContainer Repository
DMSContainer Repository SamplesClone project dms_job_quickstart_only_scheduled_job under dms_jobs_quickstart folder.
This project is going to be used as a template to create your job. Follow these steps:
Open the cloned project in Delphi IDE
Rename project as “dms_job_<yourjobname>”
Rename unit Jobs.QuickStart2.Job as “Job.<yourjobname>.job”
Rename Class TQuickStart2Job as “T<yourjobname>Job”
Write your own job code in DoExecute method
Optionally you can provide your job with custom configuration stored inside a config file. Job config can be stored in conf folder following this pattern:
job.<yourjobname>.config.json
It must contain a JSONObject with job configuration. Here it is, as example, jobemail configuration file:
{
"max_retry_count": "5",
"default_smtp_ssl_version":"TLSv1",
"max_emails_count": 5
}
To access job configuration you can use TConfigurableJob jobs, JobConfig property:
lMaxRetries := lMaxRetries := JobConfig ['max_retry_count'].ToInteger;
if lMaxRetries < 1 then
begin
raise EDMSConfigException.Create('max_retry_count', JobName);
end;
or using GetConfiguration method:
GetConfiguration(GetConfigFolder, JobName);
Check whether DMS_HOME variable is setted and that points to your DMS installation, in tools\Options\Environment Variables:
Build the package. You will find the newly created bpl under DMS installation in jobspackage folder as setted in Project Compiler Options:
Add Job configuration in jobsmanager.json file under Conf folder. Please change Jobname and jobclass with the right name:
{
"enabled": true,
"jobname": "your job name",
"schedule": "* * * * * *",
"jobtype":"class",
"jobclass":"Jobs.<yourjobname>.Job.T<yourjobname>Job"
}
To correctly schedule your job please follow configuration page the scheduling syntax paragraph.
Restart your DMS Service