fdevs / cron

通过 PHP 配置 Cron 任务

0.1.2 2016-05-15 19:09 UTC

This package is auto-updated.

Last update: 2024-08-28 18:04:50 UTC


README

通过 PHP 轻松配置 cron。

如果您使用 Symfony 2,您可以使用我们的 酷桥接器 来在配置中配置您的应用程序任务!

设置和配置

FDevsCron 使用 Composer,请访问 Composer 网站 获取更多信息。

以下简单的命令将 cron 安装到您的项目中。它还会在您的 composer.json 中添加一个新的条目,并更新 composer.lock

$ composer require fdevs/cron

FDevsCron 使用其类遵循 PSR-4 规范的命名,这意味着您可以轻松地将 cron 类的加载集成到您自己的自动加载器中。

用法

构建 Cron

<?php

require 'vendor/autoload.php';

use FDevs\Cron\Cron;
use FDevs\Cron\Model\Job;
use FDevs\Cron\Model\Time;
use FDevs\Cron\Model\Output;

$cron = new Cron();

$time = new Time();
$time
    ->setMinute(1)
    ->setHour(2)
    ->setDay(3)
    ->setMonth(4)
    ->setDayOfWeek(5)
    ;
    
$output = new Output();
$output
    ->setOutFile('log')
    ->setErrFile('error');
    
$job = new Job('/bin/bash command', $time, $output);

$cron
    ->addHeader(Cron::HEADER_PATH, 'path')
    ->addHeader(Cron::HEADER_HOME, 'home')
    ->addHeader(Cron::HEADER_MAILTO, 'test@example.com')
    ->addHeader(Cron::HEADER_SHELL, 'shell')
    ->addHeader(Cron::HEADER_CONTENT_TYPE, 'text')
    ->addHeader(Cron::HEADER_CONTENT_TRANSFER_ENCODING, 'utf8')
    ->addJob($job)
    ;

echo strval($cron);

这将打印

MAILTO=test@example.com
HOME=home
SHELL=shell
PATH=path
CONTENT_TYPE=text
CONTENT_TRANSFER_ENCODING=utf8

#Comment
1    2    3    4    5    /bin/bash command --env=dev > log 2>> error

更新 Cron

<?php

require 'vendor/autoload.php';

use FDevs\Cron\CrontabUpdater;
use FDevs\Cron\Cron;

$cron = new Cron();
// $cron configuration...

$cronUpdater = new CrontabUpdater('unique_key');
$cronUpdater->update($cron);

4devs 创建 - 查看我们的 博客 了解更多关于这个和其他我们发布的开源项目的见解。