b2sign / task-engine-sdk
任务引擎 SDK
dev-main
2024-07-04 04:01 UTC
Requires
- php: >=7.2
- guzzlehttp/guzzle: ^7.0
This package is auto-updated.
Last update: 2024-09-04 04:27:25 UTC
README
任务引擎 SDK 是一个 PHP 库,提供了与 B2Sign 任务引擎 API 交互的简单接口。SDK 设计用于轻松创建、更新和删除任务,以及检索任务信息。
安装
要安装任务引擎 SDK,请运行以下命令
composer require b2sign/task-engine-sdk
使用方法
要使用任务引擎 SDK,您必须首先创建一个 TaskEngine
类的实例。然后,您可以使用该实例与任务引擎 API 交互。
use B2Sign\TaskEngineSdk\TaskEngine; $taskEngine = new TaskEngine('api-endpoint', 'your-app-key', 'your-app-secret');
创建任务
要创建任务,请使用 create
方法。此方法接受一个任务数据数组作为其唯一参数。
$task = $taskEngine->setType('type_name') ->setCallbackUrl('https://your-callback-url.com') ->setPriority('normal') ->setUnique([ 'key' => 'value' ]) ->setKeepAlive(true) ->setQueueData([ 'queue1' => [ 1, 2, 3 ], 'queue2' => [ 'a', 'b', 'c' ], ]) ->setData([ 'foo' => 'bar', ]) ->setTask('task-id') // Optional for creating keep-alive tasks ->create();
参考
setType(string $type)
: 必需 任务的类型。setCallbackUrl(string $callbackUrl)
: 必需 任务引擎完成任务时将发送 POST 请求的 URL。setPriority(string $priority)
: (可选,默认:normal
) 任务的优先级。可能的值是low
、normal
和high
。setUnique(array $unique | false)
: (可选,默认:false
) 一个键值对数组,唯一标识任务,或者false
如果任务不是唯一的。setKeepAlive(bool $keepAlive)
: (可选,默认:false
) 任务是否应该保持活动状态,直到完成。setQueueData(array $queueData)
: (可选) 一个键值对数组,将存储在任务中。setData(array $data)
: (可选) 一个键值对数组,将存储在任务中。setTask(string $taskId)
: (可选) 创建保持活动状态任务时创建的任务 ID。通常用于更新任务队列数据。
更新任务
要更新任务,请使用 update
方法。此方法仅接受任务 ID 作为其唯一参数。
$taskId = 'task-id'; $task = $taskEngine->setTask($taskId) ->setPriority('high') ->update();
日志
要为任务记录消息,请使用 log
方法。此方法接受任务 ID 和消息作为参数。
$taskId = 'task-id'; $task = $taskEngine->setTask($taskId) ->log('This is a log message', 'success');
参考
log(string $message, string $level = null)
$message
: 日志消息。$level
: 日志级别。可能的值是success
、info
、warning
和error
。默认为info
。
完成任务 / 失败任务
要完成或失败任务,请使用 complete
或 fail
方法。这些方法仅接受任务 ID 作为其唯一参数。
$taskId = 'task-id'; $task = $taskEngine->setTask($taskId) ->complete('Completed successfully'); $task = $taskEngine->setTask($taskId) ->fail('Failed to complete task');
获取任务
要获取任务,请使用 get
方法。此方法仅接受任务 ID 作为其唯一参数。
$taskId = 'task-id'; $task = $taskEngine->setTask($taskId) ->get();
回调响应
当任务引擎向回调 URL 发送 POST 请求时,响应将是一个包含代码和消息的 JSON 字符串。您可以使用 TaskEngine::response
方法创建响应对象。
// Success response return TaskEngine::response(); // Success response with message return TaskEngine::response()->withMessage('Task processed successfully'); // Error response with error return TaskEngine::response()->withError('An error occurred'); // Error response with errors return TaskEngine::response()->withErrors([ 'Error message 1', 'Error message 2', ]);
许可证
任务引擎 SDK 是开源软件,许可协议为 MIT 许可证。