Skip to content

Latest commit

 

History

History
58 lines (43 loc) · 1.07 KB

scheduled-job.md

File metadata and controls

58 lines (43 loc) · 1.07 KB

Scheduled Jobs

Creating custom scheduled job

Create a file custom/Espo/Custom/Resources/metadata/app/scheduledJobs.json:

{
    "YourJobName": {
    	"jobClassName": "Espo\\Custom\\Jobs\\YourJobName"
    }
}

Create a file custom/Espo/Custom/Jobs/YourJobName.php with the content.

<?php

namespace Espo\Custom\Jobs;

use Espo\Core\Job\JobDataLess;

class YourJobName implements JobDataLess
{
    // Pass dependencies through the constructor using DI.
    public function __construct()
    {
    }
    
    public function run(): void 
    {	 
	// Write your logic here.
    }	 
}

Also, you can set a label for your job (custom/Espo/Custom/Resources/i18n/en_US/ScheduledJob.json).

{
   "options": { 
       "job": { 
           "YourJobName": "Your Job Label"
       }
   }
}

To make the changes applied, clear cache at Administration.

Now, you can create a scheduled job at Administration > Scheduled Jobs. YourJobName will be available in the picklist.

You can also run your job from CLI:

bin/command run-job YourJobName