定制 taskmesh/sdk-php 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

taskmesh/sdk-php

Composer 安装命令:

composer require taskmesh/sdk-php

包简介

Task Mesh Worker 埋点 SDK,用于向 Task Mesh 上报 runStart / runFinish / event

README 文档

README

Task Mesh Worker 埋点 SDK(PHP),用于向 Task Mesh 服务上报任务执行生命周期与过程事件。

仓库:https://github.com/lascyb/task-mesh-sdk-php

要求

  • PHP >= 8.0.2
  • ext-json

安装

composer require taskmesh/sdk-php

未发布 Packagist 前,可直接从 GitHub 安装:

{
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/lascyb/task-mesh-sdk-php"
        }
    ],
    "require": {
        "taskmesh/sdk-php": "^1.0"
    }
}

本地 path 开发:

{
    "repositories": [
        {
            "type": "path",
            "url": "../task-mesh-sdk-php",
            "options": { "symlink": true }
        }
    ],
    "require": {
        "taskmesh/sdk-php": "@dev"
    }
}

配置

参数 说明
baseUrl Task Mesh 服务根地址,如 http://127.0.0.1:8081
token Worker Token,对应请求头 X-Task-Token,与服务端 [TASK] WORKER_TOKEN 一致

快速开始

推荐使用 Run 上下文串联一次完整执行:

<?php

use taskmesh\sdk\Client;
use taskmesh\sdk\EventPayload;
use taskmesh\sdk\Exception;

$client = new Client('http://127.0.0.1:8081', 'your-worker-token');

$run = $client->run(
    taskKey: 'sync_orders',
    triggerType: 'cron',
    workerId: 'worker-01',
);

try {
    $run->start();
    $run->step('FETCH', '拉取订单');
    $run->log('处理完成');
    $run->finish('success');
} catch (Exception $e) {
    $run->finish('failed', errorMessage: $e->getMessage());
    throw $e;
}

Client 直接调用

$client = new Client('http://127.0.0.1:8081', 'your-worker-token');

// 开始执行
$client->runStart(
    taskKey: 'sync_orders',
    runId: '550e8400-e29b-41d4-a716-446655440000',
    triggerType: 'cron',
    workerId: 'worker-01',
);

// 单条埋点
$client->event(
    runId: '550e8400-e29b-41d4-a716-446655440000',
    eventType: 'step',
    eventName: 'FETCH',
    message: '拉取订单',
);

// 批量埋点
$client->events('550e8400-e29b-41d4-a716-446655440000', [
    EventPayload::step('FETCH', '拉取订单'),
    EventPayload::log('处理完成'),
]);

// 结束执行,status: success|failed|timeout|skipped
$client->runFinish(
    runId: '550e8400-e29b-41d4-a716-446655440000',
    status: 'success',
);

Run 便捷方法

方法 event_type 说明
start() 上报 runStart
finish($status) 上报 runFinish
step($name, $message) step 步骤
log($message) log 日志
warning($message) warning 警告
error($message) error 错误
metric($name, $data) metric 指标
events([...]) 批量埋点

未传 runId 时,Run 会自动生成 UUID v4。

API 映射

SDK 方法 HTTP
runStart() POST /api/task.Track/runStart
runFinish() POST /api/task.Track/runFinish
event() POST /api/task.Track/event
events() POST /api/task.Track/events

请求头:X-Task-Token: {token}Content-Type: application/json

成功响应:code === 1,SDK 返回 data 数组;失败抛出 taskmesh\sdk\Exception

异常

use taskmesh\sdk\Exception;

try {
    $run->start();
} catch (Exception $e) {
    // $e->getMessage() 服务端错误信息
    // $e->getCode()    业务错误码(如 401、422)
}

License

Apache-2.0

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: Apache-2.0
  • 更新时间: 2026-06-29

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固