scheduled job populating change
This commit is contained in:
@@ -198,15 +198,14 @@ class DataManager
|
||||
*/
|
||||
public function rebuildScheduledJobs(): void
|
||||
{
|
||||
$metadata = $this->metadata;
|
||||
|
||||
$entityManager = $this->entityManager;
|
||||
|
||||
$jobs = $metadata->get(['entityDefs', 'ScheduledJob', 'jobs'], []);
|
||||
$jobDefs = array_merge(
|
||||
$this->metadata->get(['entityDefs', 'ScheduledJob', 'jobs'], []), // for bc
|
||||
$this->metadata->get(['app', 'scheduledJobs'], [])
|
||||
);
|
||||
|
||||
$systemJobNameList = [];
|
||||
|
||||
foreach ($jobs as $jobName => $defs) {
|
||||
foreach ($jobDefs as $jobName => $defs) {
|
||||
if (!$jobName) {
|
||||
continue;
|
||||
}
|
||||
@@ -217,8 +216,8 @@ class DataManager
|
||||
|
||||
$systemJobNameList[] = $jobName;
|
||||
|
||||
$sj = $entityManager
|
||||
->getRepository('ScheduledJob')
|
||||
$sj = $this->entityManager
|
||||
->getRDBRepository('ScheduledJob')
|
||||
->where([
|
||||
'job' => $jobName,
|
||||
'status' => 'Active',
|
||||
@@ -230,15 +229,15 @@ class DataManager
|
||||
continue;
|
||||
}
|
||||
|
||||
$job = $entityManager
|
||||
->getRepository('ScheduledJob')
|
||||
$existingJob = $this->entityManager
|
||||
->getRDBRepository('ScheduledJob')
|
||||
->where([
|
||||
'job' => $jobName,
|
||||
])
|
||||
->findOne();
|
||||
|
||||
if ($job) {
|
||||
$entityManager->removeEntity($job);
|
||||
if ($existingJob) {
|
||||
$this->entityManager->removeEntity($existingJob);
|
||||
}
|
||||
|
||||
$name = $jobName;
|
||||
@@ -247,21 +246,17 @@ class DataManager
|
||||
$name = $defs['name'];
|
||||
}
|
||||
|
||||
$job = $entityManager->getEntity('ScheduledJob');
|
||||
|
||||
$job->set([
|
||||
$this->entityManager->createEntity('ScheduledJob', [
|
||||
'job' => $jobName,
|
||||
'status' => 'Active',
|
||||
'scheduling' => $defs['scheduling'],
|
||||
'isInternal' => true,
|
||||
'name' => $name,
|
||||
]);
|
||||
|
||||
$entityManager->saveEntity($job);
|
||||
}
|
||||
|
||||
$internalScheduledJobList = $entityManager
|
||||
->getRepository('ScheduledJob')
|
||||
$internalScheduledJobList = $this->entityManager
|
||||
->getRDBRepository('ScheduledJob')
|
||||
->where([
|
||||
'isInternal' => true,
|
||||
])
|
||||
@@ -271,7 +266,9 @@ class DataManager
|
||||
$jobName = $scheduledJob->get('job');
|
||||
|
||||
if (!in_array($jobName, $systemJobNameList)) {
|
||||
$entityManager->getRepository('ScheduledJob')->deleteFromDb($scheduledJob->id);
|
||||
$this->entityManager
|
||||
->getRDBRepository('ScheduledJob')
|
||||
->deleteFromDb($scheduledJob->id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,39 @@
|
||||
{
|
||||
"ProcessJobGroup": {
|
||||
"name": "Process Job Group",
|
||||
"isSystem": true,
|
||||
"scheduling": "* * * * *",
|
||||
"isPreparable": true
|
||||
},
|
||||
"ProcessJobQueueQ0": {
|
||||
"name": "Process Job Queue q0",
|
||||
"isSystem": true,
|
||||
"scheduling": "* * * * *"
|
||||
},
|
||||
"ProcessJobQueueQ1": {
|
||||
"name": "Process Job Queue q1",
|
||||
"isSystem": true,
|
||||
"scheduling": "*/1 * * * *"
|
||||
},
|
||||
"ProcessJobQueueE0": {
|
||||
"name": "Process Job Queue e0",
|
||||
"isSystem": true,
|
||||
"scheduling": "* * * * *"
|
||||
},
|
||||
"Dummy": {
|
||||
"isSystem": true,
|
||||
"scheduling": "1 */12 * * *"
|
||||
},
|
||||
"CheckNewVersion": {
|
||||
"name": "Check for New Version",
|
||||
"isSystem": true,
|
||||
"scheduling": "15 5 * * *"
|
||||
},
|
||||
"CheckNewExtensionVersion": {
|
||||
"name": "Check for New Versions of Installed Extensions",
|
||||
"isSystem": true,
|
||||
"scheduling": "25 5 * * *"
|
||||
},
|
||||
"CheckEmailAccounts": {
|
||||
"isPreparable": true
|
||||
},
|
||||
|
||||
@@ -76,41 +76,5 @@
|
||||
"AuthTokenControl": "*/6 * * * *",
|
||||
"SendEmailNotifications": "*/2 * * * *",
|
||||
"ProcessWebhookQueue": "*/5 * * * *"
|
||||
},
|
||||
"jobs": {
|
||||
"Dummy": {
|
||||
"isSystem": true,
|
||||
"scheduling": "1 */12 * * *"
|
||||
},
|
||||
"CheckNewVersion": {
|
||||
"name": "Check for New Version",
|
||||
"isSystem": true,
|
||||
"scheduling": "15 5 * * *"
|
||||
},
|
||||
"CheckNewExtensionVersion": {
|
||||
"name": "Check for New Versions of Installed Extensions",
|
||||
"isSystem": true,
|
||||
"scheduling": "25 5 * * *"
|
||||
},
|
||||
"ProcessJobGroup": {
|
||||
"name": "Process Job Group",
|
||||
"isSystem": true,
|
||||
"scheduling": "* * * * *"
|
||||
},
|
||||
"ProcessJobQueueQ0": {
|
||||
"name": "Process Job Queue q0",
|
||||
"isSystem": true,
|
||||
"scheduling": "* * * * *"
|
||||
},
|
||||
"ProcessJobQueueQ1": {
|
||||
"name": "Process Job Queue q1",
|
||||
"isSystem": true,
|
||||
"scheduling": "*/1 * * * *"
|
||||
},
|
||||
"ProcessJobQueueE0": {
|
||||
"name": "Process Job Queue e0",
|
||||
"isSystem": true,
|
||||
"scheduling": "* * * * *"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user