lciolecki/cron-jobs-manager

PHP Cron Jobs Manager

v0.0.1 2014-04-18 06:20 UTC

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"
    }
}