forked from edusoho/edusoho
-
Notifications
You must be signed in to change notification settings - Fork 0
/
20170907075659_biz_scheduler.php
91 lines (85 loc) · 4.65 KB
/
20170907075659_biz_scheduler.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
<?php
use Phpmig\Migration\Migration;
class BizScheduler extends Migration
{
/**
* Do the migration
*/
public function up()
{
$biz = $this->getContainer();
$connection = $biz['db'];
$connection->exec("
CREATE TABLE IF NOT EXISTS `biz_job_pool` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
`name` varchar(128) NOT NULL DEFAULT 'default' COMMENT '组名',
`max_num` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大数',
`num` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '已使用的数量',
`timeout` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '执行超时时间',
`updated_time` int(10) unsigned NOT NULL COMMENT '更新时间',
`created_time` int(10) unsigned NOT NULL COMMENT '创建时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
");
$connection->exec("
CREATE TABLE IF NOT EXISTS `biz_job` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '编号',
`name` varchar(128) NOT NULL COMMENT '任务名称',
`pool` varchar(64) NOT NULL DEFAULT 'default' COMMENT '所属组',
`source` varchar(64) NOT NULL DEFAULT 'MAIN' COMMENT '来源',
`expression` varchar(128) NOT NULL DEFAULT '' COMMENT '任务触发的表达式',
`class` varchar(128) NOT NULL COMMENT '任务的Class名称',
`args` text COMMENT '任务参数',
`priority` int(10) unsigned NOT NULL DEFAULT 50 COMMENT '优先级',
`pre_fire_time` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '任务下次执行的时间',
`next_fire_time` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '任务下次执行的时间',
`misfire_threshold` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '触发过期的阈值(秒)',
`misfire_policy` varchar(32) NOT NULL COMMENT '触发过期策略: missed, executing',
`enabled` tinyint(1) DEFAULT 1 COMMENT '是否启用',
`deleted` tinyint(1) DEFAULT 0 COMMENT '是否启用',
`creator_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '任务创建人',
`deleted_time` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '删除时间',
`updated_time` int(10) unsigned NOT NULL COMMENT '修改时间',
`created_time` int(10) unsigned NOT NULL COMMENT '任务创建时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
");
$connection->exec("
CREATE TABLE IF NOT EXISTS `biz_job_fired` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '编号',
`job_id` int(10) NOT NULL COMMENT 'jobId',
`fired_time` int(10) unsigned NOT NULL COMMENT '触发时间',
`priority` int(10) unsigned NOT NULL DEFAULT 50 COMMENT '优先级',
`retry_num` INT(10) unsigned NOT NULL DEFAULT 0 COMMENT '重试次数',
`status` varchar(32) NOT NULL DEFAULT 'acquired' COMMENT '状态:acquired, executing, success, missed, ignore, failure',
`failure_msg` text,
`updated_time` int(10) unsigned NOT NULL COMMENT '修改时间',
`created_time` int(10) unsigned NOT NULL COMMENT '任务创建时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
");
$connection->exec("
CREATE TABLE IF NOT EXISTS `biz_job_log` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '编号',
`job_id` int(10) unsigned NOT NULL COMMENT '任务编号',
`job_fired_id` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '激活的任务编号',
`hostname` varchar(128) NOT NULL DEFAULT '' COMMENT '执行的主机',
`name` varchar(128) NOT NULL COMMENT '任务名称',
`pool` varchar(64) NOT NULL DEFAULT 'default' COMMENT '所属组',
`source` varchar(64) NOT NULL COMMENT '来源',
`class` varchar(128) NOT NULL COMMENT '任务的Class名称',
`args` text COMMENT '任务参数',
`priority` int(10) unsigned NOT NULL DEFAULT 50 COMMENT '优先级',
`status` varchar(32) NOT NULL DEFAULT 'waiting' COMMENT '任务执行状态',
`created_time` int(10) unsigned NOT NULL COMMENT '任务创建时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
");
}
/**
* Undo the migration
*/
public function down()
{
}
}