b2sign/task-engine-sdk

任务引擎 SDK

dev-main 2024-07-04 04:01 UTC

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) 任务的优先级。可能的值是 lownormalhigh
  • 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: 日志级别。可能的值是 successinfowarningerror。默认为 info

完成任务 / 失败任务

要完成或失败任务,请使用 completefail 方法。这些方法仅接受任务 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 许可证