battis / autocrontabjob

该软件包已被废弃且不再维护。未建议替代软件包。

自动安排定期cron作业的对象化方法

v1.0.1 2017-03-17 16:57 UTC

This package is auto-updated.

Last update: 2023-05-25 12:39:20 UTC


README

Latest Version Scrutinizer Code Quality

自动安排定期cron作业的对象化方法

安装

将以下内容包含在您的 composer.json 文件中

"require": {
  "battis/autocrontabjob": "~1.0"
}

使用

在使用此对象之前,需要一些准备工作

  1. 扩展抽象类 Battis\AutoCrontabJob 并实现抽象方法 scheduledJob()
  2. 创建一个脚本,该脚本将定期作为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();

?>