CMS
Version 3.9
scheduled_task.inc
Go to the documentation of this file.
1
<?php
7
class
ScheduledTask
extends
DataItem
8
{
9
var
$table
=
"scheduled_task"
;
10
var
$primary_key
=
"task_id"
;
11
12
var
$fields
= array(
"task_id"
=> Number,
13
"component"
=> String,
14
"task_name"
=> String,
15
"run_every_hour"
=> Boolean,
16
"schedule"
=> TaskSchedule,
17
"active"
=> Boolean);
18
19
var
$relations
= array(
"LogEntries"
=>
ScheduledTaskLogEntry
,
20
"LastRun"
=>
ScheduledTaskLogEntry
);
21
22
function
LogEntries
(
$constraint
=
""
)
23
{
24
return
$this->getRelatedList(
ScheduledTaskLogEntry
,
""
,
$constraint
);
25
}
26
27
static
function
getInstance
(
$component
, $task_name)
28
{
29
return
Query::create(
ScheduledTask
,
"WHERE component=:c AND task_name=:t"
)
30
->bind(
":c"
,
$component
,
":t"
, $task_name)
31
->executeSingle();
32
}
33
34
function
LastRun
()
35
{
36
if
($this->_lastRun)
return
$this->_lastRun;
37
$lastRun = $this->
LogEntries
(
"ORDER BY log_date DESC limit 1"
);
38
$this->_lastRun = $lastRun;
39
return
$lastRun;
40
}
41
42
function
run
()
43
{
44
$mgr
=
new
ScheduledTaskManager
();
45
$mgr
->executeTask($this->component, $this->task_name);
46
}
47
}
48
49
50
class
ScheduledTaskLogEntry
extends
DataItem
51
{
52
var
$table
=
"scheduled_task_log_entry"
;
53
var
$primary_key
=
"log_entry_id"
;
54
55
56
var
$fields
= array(
"log_entry_id"
=> Number,
57
"task_id"
=> Number,
58
"log_date"
=> DateTime,
59
"log"
=> Text,
60
"status"
=> String);
61
62
var
$relations
= array(
"Task"
=>
ScheduledTask
);
63
64
function
Task
()
65
{
66
return
$this->getRelated(
ScheduledTask
);
67
}
68
}
69
?>
$constraint
$constraint
Definition:
activity_report.inc:13
$mgr
$mgr
Definition:
authentication_token_form.inc:55
$component
$component
Definition:
help.inc:38
ScheduledTask
Definition:
scheduled_task.inc:8
ScheduledTask\$table
$table
Definition:
scheduled_task.inc:9
ScheduledTask\$relations
$relations
Definition:
scheduled_task.inc:19
ScheduledTask\getInstance
static getInstance($component, $task_name)
Definition:
scheduled_task.inc:27
ScheduledTask\run
run()
Definition:
scheduled_task.inc:42
ScheduledTask\LastRun
LastRun()
Definition:
scheduled_task.inc:34
ScheduledTask\$fields
$fields
Definition:
scheduled_task.inc:12
ScheduledTask\LogEntries
LogEntries($constraint="")
Definition:
scheduled_task.inc:22
ScheduledTask\$primary_key
$primary_key
Definition:
scheduled_task.inc:10
ScheduledTaskLogEntry
Definition:
scheduled_task.inc:51
ScheduledTaskLogEntry\Task
Task()
Definition:
scheduled_task.inc:64
ScheduledTaskLogEntry\$table
$table
Definition:
scheduled_task.inc:52
ScheduledTaskLogEntry\$primary_key
$primary_key
Definition:
scheduled_task.inc:53
ScheduledTaskLogEntry\$fields
$fields
Definition:
scheduled_task.inc:56
ScheduledTaskLogEntry\$relations
$relations
Definition:
scheduled_task.inc:62
ScheduledTaskManager
Manages scheduled task registration and execution.
Definition:
scheduled_task_manager.inc:17
code
cms.sonjara.com
cms
components
scheduled_task
datamodel
scheduled_task.inc
Generated on Tue Mar 23 2021 15:36:14 for CMS by
1.9.1