fieldtronics/workflowmanager

用于管理工作流程创建的库。

dev-master 2018-06-26 14:14 UTC

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;