lciolecki / cron-jobs-manager
PHP Cron Jobs Manager
v0.0.1
2014-04-18 06:20 UTC
Requires
- php: >=5.3
This package is not auto-updated.
Last update: 2024-09-25 12:02:20 UTC
README
#PHP Cron Jobs Manager
PHP Cron Jobs Manager 是一个简单的库,用于管理应用程序中的 cron 作业任务。它使用一些数据容器,如数据库。
库的理论
- 适配器 - 到数据容器(如 Zend_Db、Doctrine、Propel 等)的连接表示。
- 作业 - 数据容器中的模型/实体的表示。具有关于要执行的任务的必要信息。
- 历史 - 模型/实体的表示,包含关于已执行作业状态的详细信息。
- 任务 - 要执行的事情的表示,必须扩展自 \Extlib\Cron\Task\TaskAbstract 并实现 run() 方法。
#示例使用
$cron = new \Extlib\Cron(new Doctrine2(array(
Doctrine2::ENTITY_MANAGER => $entityManager,
Doctrine2::JOB_ENTITY_NAME => 'Entity\CronJob',
Doctrine2::JOB_COL_DATE_LAST_RUN => 'dateLastRun',
Doctrine2::JOB_COL_PRIORITY => 'priority',
Doctrine2::JOB_COL_STATUS => 'status',
Doctrine2::HISTORY_ENTITY_NAME => 'Entity\CronHistory'
)));
$cron->execute();
示例应用 zf+doctrine2
在目录 zf-doctrine-example 中,如名称所示是一个示例应用程序,使用 Doctrine 2 的 Zend Framework。请使用文件:*/zf-doctrine-example/docs/database.sql 创建数据库。此 SQL 脚本创建具有两个表(cron_histories 和 cron_jobs)的数据库,其中包含两个任务(Core_Cron_Task_Test1、Core_Cron_Task_Test2)。要运行脚本,您必须编辑 crontab,使用命令 crontab -e 并添加以下行
* * * * * /usr/bin/php */zf-doctrine-example/bin/cron.php >> /tmp/cron-logs.log 2>&1
##使用 Composer 安装
{
"require": {
"lciolecki/cron-jobs-manager": "dev-master"
}
}