zenaton / zenaton-php
Zenaton PHP 库
Requires
- php: >=5.6.0
- ext-json: *
- cakephp/chronos: ^1.1
- jeremeamia/superclosure: ^2.2
- nategood/httpful: ^0.2
- ramsey/uuid: ^3.0
Requires (Dev)
- phpunit/phpunit: ^5.7.27
README
⚠️ 该仓库已被废弃。
开发者异步作业管理器,简单易用
探索文档
网站 · PHP 示例 · PHP 教程
Zenaton PHP 库
Zenaton 帮助开发者轻松运行、监控和编排工作进程,无需管理队列系统。此外,监控仪表板实时显示任务执行情况,并帮助处理错误。
Zenaton PHP 库允许您使用 Zenaton 平台编码和启动任务,以及将工作流作为代码编写。您可以在 Zenaton 上注册账户,并通过 PHP 教程 学习。
PHP 文档
您可以在 Zenaton 网站 上找到所有详细信息。
入门
安装
安装 Zenaton 代理
要安装 Zenaton 代理,请运行以下命令
curl https://install.zenaton.com/ | sh
然后,您需要您的代理监听您的应用程序。为此,您需要您的 应用程序 ID 和 API 令牌。您可以在 您的 Zenaton 账户 上找到这两者。
zenaton listen --app_id=YourApplicationId --api_token=YourApiToken --app_env=YourApplicationEnv
安装库
要将库的最新版本添加到您的项目,请运行以下命令
composer require zenaton/zenaton-php
框架集成
如果您使用 Laravel 或 Symfony,请参阅我们的专用文档以开始使用
快速入门
客户端初始化
首先,您需要初始化客户端。为此,您需要您的 应用程序 ID 和 API 令牌。您可以在 您的 Zenaton 账户 上找到这两者。
然后,初始化您的 Zenaton 客户端
Zenaton\Client::init('YourApplicationId', 'YourApiToken', 'YourApplicationEnv');
执行后台任务
在Zenaton中,后台任务是一个实现Zenaton\Interfaces\TaskInterface
接口的类。
让我们先实现一个简单的任务,打印一些内容,并返回一个值
use Zenaton\Interfaces\TaskInterface; use Zenaton\Traits\Zenatonable; class HelloWorldTask implements TaskInterface { public function handle() { echo "Hello World\n"; return mt_rand(0, 1); } }
现在,当你想要将这个任务作为后台任务运行时,你需要执行以下操作
(new HelloWorldTask())->dispatch();
这就是开始所需的所有内容。有了这些,你可以运行许多后台任务。然而,Zenaton真正的力量在于能够编排这些任务。下一节将向您介绍工作编排。
编排后台任务
工作编排允许您以简单的方式编写复杂的企业工作流程。您可以按顺序、并行执行任务,根据先前任务的结果进行条件执行,甚至可以使用循环重复某些任务。
我们撰写了一些关于工作编排用例的文章,您可以通过查看这些文章来了解人们如何使用工作编排。
使用工作流程
在Zenaton中,工作流程是一个实现Zenaton\Interfaces\WorkflowInterface
接口的类。
我们将实现一个非常简单的工作流程
首先,它将执行HelloWorld
任务。第一个任务的结果将用于通过一个if
语句来做出条件。当返回的值大于0
时,我们将执行一个名为FinalTask
的第二个任务。否则,我们不会做其他任何事情。
需要记住的一个重要事项是,您的实现工作流程必须是无状态的。您可以在我们的文档中了解更多信息。
实现看起来是这样的
use Zenaton\Interfaces\WorkflowInterface; use Zenaton\Traits\Zenatonable; class MyFirstWorkflow implements WorkflowInterface { use Zenatonable; public function handle() { $n = (new HelloWorldTask())->execute(); if ($n > 0) { (new FinalTask())->execute(); } } }
现在,您的实现工作流程已经完成,您可以通过调用dispatch
方法来执行它
(new MyFirstWorkflow())->dispatch();
如果您真的想运行这个示例,您需要实现FinalTask
任务。
工作流程中还有许多其他可用的功能,以确保编排得当。您可以在我们的文档中了解更多。
获取帮助
需要帮助吗?请通过Zenaton上的聊天联系我们。