battis / autocrontabjob
该软件包已被废弃且不再维护。未建议替代软件包。
自动安排定期cron作业的对象化方法
v1.0.1
2017-03-17 16:57 UTC
Requires
- pear/log: ~1.0
- tiben/crontab-manager: ~1.0
This package is auto-updated.
Last update: 2023-05-25 12:39:20 UTC
README
自动安排定期cron作业的对象化方法
安装
将以下内容包含在您的 composer.json
文件中
"require": { "battis/autocrontabjob": "~1.0" }
使用
在使用此对象之前,需要一些准备工作
- 扩展抽象类
Battis\AutoCrontabJob
并实现抽象方法scheduledJob()
。 - 创建一个脚本,该脚本将定期作为Cron作业运行,实例化您的类并调用其
scheduledJob()
方法。
注意:请记住,当脚本通过cron运行时,它是由Apache 不是 运行的,因此它不会生成输出到Apache日志文件。幸运的是,有一个内置的日志可以使用(见下文)。默认情况下,日志将在脚本相同的目录中生成,并且名称类似(使用 .log
而不是 .php
)。
一个示例脚本文件(是一个一体化的脚本,也扩展了抽象类),名为 MyJob.php
<?php require_once('vendor/autoload.php'); // extend the abstract class with our own scheduledJob() method class MyJob extends Battis\AutoCrontabJob { public function scheduledJob() { $this->log->log('I did something!'); } } // instantiate our class $job = new MyJob( 'example', __FILE__, // *this* file will be called by crontab '*/5 * * * *' // run every five minutes (woo hoo!) ); // fire the scheduledJob() method $job->scheduledJob(); ?>