mirror of
https://github.com/OPSnet/Gazelle.git
synced 2026-01-16 18:04:34 -05:00
enqueuing an insane task restores its sanity
This commit is contained in:
@@ -108,6 +108,7 @@ class TaskScheduler extends Base {
|
||||
public function enqueue(int $taskId): int {
|
||||
self::$db->prepared_query("
|
||||
UPDATE periodic_task SET
|
||||
is_sane = true,
|
||||
run_now = true
|
||||
WHERE periodic_task_id = ?
|
||||
", $taskId
|
||||
|
||||
@@ -43,6 +43,11 @@ class SchedulerTest extends TestCase {
|
||||
|
||||
public function testMissingTaskEntry(): void {
|
||||
$scheduler = new TaskScheduler();
|
||||
$this->assertEquals(
|
||||
-1,
|
||||
$scheduler->runTask(-666),
|
||||
"sched-task-no-such-task-id"
|
||||
);
|
||||
$this->assertEquals(
|
||||
-1,
|
||||
$scheduler->runClass("NoSuchClassname"),
|
||||
@@ -202,6 +207,11 @@ class SchedulerTest extends TestCase {
|
||||
$scheduler->clear($taskId),
|
||||
'task-clear',
|
||||
);
|
||||
$this->assertEquals(
|
||||
1,
|
||||
$scheduler->runNow($taskId),
|
||||
'task-run-now',
|
||||
);
|
||||
}
|
||||
|
||||
public function testTaskStats(): void {
|
||||
@@ -219,12 +229,52 @@ class SchedulerTest extends TestCase {
|
||||
}
|
||||
|
||||
public function testGlobalStats(): void {
|
||||
$scheduler = new TaskScheduler();
|
||||
$stats = $scheduler->runtimeStats();
|
||||
$stats = new TaskScheduler()->runtimeStats();
|
||||
$this->assertEquals(
|
||||
['hourly', 'daily', 'tasks', 'totals'],
|
||||
array_keys($stats),
|
||||
'task-stats-global',
|
||||
);
|
||||
}
|
||||
|
||||
public function testTaskUpdate(): void {
|
||||
$this->assertEquals(
|
||||
0,
|
||||
new TaskScheduler()->updateTask(
|
||||
taskId: 1,
|
||||
name: 'Test',
|
||||
class: 'Bonkers',
|
||||
description: 'Scheduler functionality test ' . randomString(),
|
||||
period: 60,
|
||||
isEnabled: false,
|
||||
isSane: true,
|
||||
isDebug: false,
|
||||
),
|
||||
'task-update-bad-class',
|
||||
);
|
||||
$this->assertEquals(
|
||||
1,
|
||||
new TaskScheduler()->updateTask(
|
||||
taskId: 1,
|
||||
name: 'Test',
|
||||
class: 'Test',
|
||||
description: 'Scheduler functionality test ' . randomString(),
|
||||
period: 60,
|
||||
isEnabled: false,
|
||||
isSane: true,
|
||||
isDebug: false,
|
||||
),
|
||||
'task-update-test',
|
||||
);
|
||||
new TaskScheduler()->updateTask(
|
||||
taskId: 1,
|
||||
name: 'Test',
|
||||
class: 'Test',
|
||||
description: 'Scheduler functionality test',
|
||||
period: 60,
|
||||
isEnabled: false,
|
||||
isSane: true,
|
||||
isDebug: false,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user