hoa/worker

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

Hoa\Worker 库。

3.17.01.16 2017-01-16 07:09 UTC

README

Hoa

Build status Code coverage Packagist License

Hoa 是一套 模块化可扩展结构化 的 PHP 库。
此外,Hoa 致力于成为工业界和学术界之间的桥梁。

Hoa\Worker

Help on IRC Help on Gitter Documentation Board

此库允许创建共享工人,以便将一些重和阻塞的任务分离出来。

了解更多.

安装

使用 Composer,要将此库包含到您的依赖中,您需要要求 hoa/worker

$ composer require hoa/worker '~3.0'

有关更多安装程序,请阅读 源代码页面

测试

在运行测试套件之前,必须安装开发依赖项

$ composer install

然后,运行所有测试套件

$ vendor/bin/hoa test:run

有关更多信息,请阅读 贡献者指南

快速使用

作为快速概述,我们来看看如何创建一个工人以及如何与其通信。

创建一个工人

首先,我们需要注册工人(即创建一个 .wid 文件),命名为 demorker

if (false === Hoa\Worker\Run::widExists('demorker')) {
    Hoa\Worker\Run::register('demorker', 'tcp://127.0.0.1:123456');
}

然后,我们启动工人(带有密码)并监听消息

$worker = new Hoa\Worker\Backend\Shared('demorker', 'iamapassword');
$worker->on('message', function(Hoa\Event\Bucket $bucket) {
    $data = $bucket->getData();
    // compute $data['message'].
});
$worker->run();

消息表示要执行的任务(发送电子邮件、创建一些存档、更新数据库、发送一些通知...)。

我们还可以从 CLI 管理所有工人。

与工人通信

其次,由于工人正在运行,我们可以从我们的应用程序与其通信。因此

$worker = new Hoa\Worker\Shared('demorker');
$worker->postMessage('mail gordon@freeman.hl Hello Gordon!');

我们可以发送所有可序列化的内容。

文档

Hoa\Worker 的黑客手册 包含有关如何使用此库以及它如何工作的详细信息。

要本地生成文档,请执行以下命令

$ composer require --dev hoa/devtools
$ vendor/bin/hoa devtools:documentation --open

更多文档可以在项目网站上找到: hoa-project.net

获取帮助

获取帮助主要有两种方式

贡献

您想贡献吗?感谢!一份详细的贡献指南解释了您需要了解的所有内容。

许可证

Hoa遵循新BSD许可证(BSD-3-Clause)。请参阅LICENSE以获取详细信息。