fieldtronics / workflowmanager
dev-master
2018-06-26 14:14 UTC
Requires
- corneltek/phprelease: ^1.3
- guzzlehttp/guzzle: ^6.3
- monolog/monolog: 1.*
- ramsey/uuid: *
Suggests
- fieldtronics/workflowmanager: In order to work with zmq you need to install its extension in webserver.
This package is not auto-updated.
Last update: 2024-09-22 03:32:36 UTC
README
Il WorkflowManager 是一个包装库,允许向调度器发送命令。
入门
为了运行,它需要一些初步配置。
- Env::$SAL_ENDPOINT:调用 SAL 时的端点。通常,本地 IP 和端口就足够了。
- Env::$WFS_IP:找到调度器的 IP 地址。
- Env::$WFS_ZEROMQ_ENDPOINT:ZeroMQ 端点的 IP 地址和端口。这是项目连接 ZeroMQ 与调度器通信的地址。请使用
tcp://完整格式提供。 - Env::$CTRL_IP:用作 SAL 请求 "sourceIp" 的 IP 地址。它应该与这台机器的 IP 地址相匹配。回环地址也已证明可以正常工作。
- Env::$WFS_ZEROMQ_SOURCE_ENDPOINT:将填充请求中的 "source" 字段的 IP 地址和端口。这个字符串也应使用
tcp://完整格式。 - Env::$WFS_NOTIFICATION_ENDPOINT:调度器将在此 IP 地址、可选端口和路径中查找 PUT
workflow端点以提供状态更新。请使用 "src/Workflow/Status/" 中的类来从调度器请求和响应此端点的 JSON。 - Env::$WORKFLOW_BASE_FOLDER:到
data/workflow文件的绝对路径。WorkflowBuilder 使用它来生成存储工作流程数据的路径。目前其实际使用尚有疑问。 - WFSchedulerHandler::$_sndTimeout:发送调度器的超时时间(可选)。默认为 10000;
- WFSchedulerHandler::$_rcvTimeout:接收调度器的超时时间(可选)。默认为 10000;
先决条件
除了 composer 中指定的依赖项外,该包要求在系统主机上安装 ZeroMQ,并且 Apache 中安装了相关的 mod_zmq 模块。
安装
在 Apache 中安装 mod_zmq 模块。
WorkflowManager 以 composer 包的形式提供,因此只需在文件夹中调用
composer install
即可安装该包及其所有依赖项。
以下是一个配置示例
require 'vendor/autoload.php';
use WorkflowManager\Configuration\Env;
use WorkflowManager\Messaging\WFSchedulerHandler;
Env::$SAL_ENDPOINT = 'http://127.0.0.1:5504';
Env::$WFS_IP = '127.0.0.1';
Env::$WFS_ZEROMQ_ENDPOINT = 'tcp://127.0.0.1:5501';
Env::$CTRL_IP = "127.0.0.1";
Env::$WFS_ZEROMQ_SOURCE_ENDPOINT = 'tcp://127.0.0.1:*');
Env::$WFS_NOTIFICATION_ENDPOINT = 'http://127.0.0.1/proj/root/';
Env::$WORKFLOW_BASE_FOLDER = 'C:/Project/Data/workflow';
// timeouts
WFSchedulerHandler::$_sndTimeout = 10000;
WFSchedulerHandler::$_rcvTimeout = 10000;