madnh/task_waiter

等待其他 PHP 进程中的任务完成

0.1 2017-03-02 05:44 UTC

This package is not auto-updated.

Last update: 2024-09-15 01:50:52 UTC


README

此类帮助检测多个同时进行的进程中的任务是否完成。

安装

Composer

composer require madnh/task_waiter

属性

  • static::$savePath:保存任务文件的路径

方法

  • static::start($taskName):启动任务,其他即将到来的 PHP 进程将保持等待,直到此任务完成或当前进程结束。
  • static::isWorking($taskName):检查任务是否在任何进程中运行。
  • static::complete($taskName):设置任务状态为完成。其他进程可以继续其业务。

示例

在多个命令提示符中运行以下示例

use MaDnh\TaskWaiter\TaskWaiter as Task;

echo "Start example\n";
$task = 'example_task';

//Task::$savePath = __DIR__;

echo Task::isWorking($task) ? "Task is running in other process" : 'Task is free';

print "\n";

if (Task::start($task)) {
    echo "Task is in processing!\n";

    sleep(5);
    Task::complete($task);

    echo "Task complete!\n";
    echo "Do other process!\n";

    sleep(5);
} else {
    echo "Start failed";
}

echo "Bye!";

示例结果图片

Example result