takuya/php-atq-wrapper

atq/atrm php 包装类

1.0 2021-03-05 19:16 UTC

This package is auto-updated.

Last update: 2024-09-06 02:30:32 UTC


README

'atq/at' 定时任务命令行包装器。

什么是 atq

atq/at 是预安装的 Linux 发行版警报或定时器,在指定时间运行一次。

https://manpages.debian.org/jessie/at/at.1.en.html

安装

composer require takuya/php-atq-wrapper

示例

添加/显示/删除 atq 任务

<?php
    use SystemUtil\AtJobs;
    $at_job = new AtJobs( 'ssh server docker exec ubuntu1604 -- at' );
    $id = $at_job->add( '+30days', 'echo Hello 2','s' );
    $at_job->exists($id);// => true
    $at_job->get_body( $id ); //=> /bin/sh body will be executed.
    $at_job->remove($id); //=> cancel job.

列出当前队列中的任务。

<?php
    use SystemUtil\AtJobs;
    $at_job = new AtJobs( 'ssh server docker exec ubuntu1604 -- at' );
    foreach ($at_job->queue() as $job) {
      $job->id;
      $job->start;
      $job->q;
      $job->user;
      $job->body();
    }

取消任务

<?php
    use SystemUtil\AtJobs;
    $at_job = new AtJobs( 'ssh server docker exec ubuntu1604 -- at' );
    foreach ($at_job->queue('a') as $job) {
      $job->remove();
    }