Renderbus云渲染农场-AI驱动的新一代云渲染平台
首页案例关于我们
注册
注册领渲染券
Renderbus云渲染农场-AI驱动的新一代云渲染平台
首页案例关于我们帮助/教程登录
请问有什么可以帮助您?
可以在这里输入您遇到的问题
SDK回调任务信息和扣费信息(POST)
问题反馈?
在使用过程中,遇到问题或有其他建议,都可以跟我们沟通哦~
在线沟通
Chat now with support
帮助中心开发人员帮助
回调任务信息和扣费信息(POST)

回调任务信息和扣费信息(POST)

回调任务信息和扣费信息(POST)

如果您有自己的公网服务器, 只需在开发者中心, URL回调地址填写接收回调信息的服务器的地址即可, 我们将会实时的将任务的状态信息和扣费信息发送到指定的地址中

如果您没有自己的公网服务器, 只需在服务器中创建一个服务, 然后在开发者中心填写URL回调地址

下面是一个创建服务的案例

from http.server import BaseHTTPRequestHandler, HTTPServer


class MyRequestHandler(BaseHTTPRequestHandler):

    def do_POST(self):
        content_length = int(self.headers['Content-Length'])
        post_data = self.rfile.read(content_length)
        print(post_data.decode('utf-8'))

        self.send_response(200)
        self.send_header('Content-type', 'text/html')
        self.end_headers()
        self.wfile.write(b'Success')


def run():
    host = "0.0.0.0"
    port = 8888
    server = HTTPServer((host, port), MyRequestHandler)
    print(f"server:http://{host}:{port}")
    server.serve_forever()


if __name__ == '__main__':
    run()

回调信息可以推送到其他平台,如钉钉, 微信等平台

下面是推送到钉钉平台的示例:

import requests
import json
from http.server import BaseHTTPRequestHandler, HTTPServer


def send_dingtalk_notification(message):
    url = 'https://oapi.dingtalk.com/robot/send?access_token=xxxxx'  # 在钉钉群里创建机器人的时候会自动生成.
    data = {
        "msgtype": "text",
        "text": {
            "content": "@手机号码\n%s" % message    
        },
        "at": {
            "atMobiles": [
                "手机号码"
            ],
            "isAtAll": False
        }
    }
    headers = {'Content-Type': 'application/json'}
    response = requests.post(url, headers=headers, data=json.dumps(data))
    if response.status_code == 200:
        print("Message sent successfully")
    else:
        print("Message sent successfully")


class MyRequestHandler(BaseHTTPRequestHandler):

    def do_POST(self):
        content_length = int(self.headers['Content-Length'])
        post_data = self.rfile.read(content_length)
        send_dingtalk_notification(post_data.decode('utf-8'))

        self.send_response(200)
        self.send_header('Content-type', 'text/html')
        self.end_headers()
        self.wfile.write(b'Success')


def run():
    host = "0.0.0.0"
    port = 8888
    server = HTTPServer((host, port), MyRequestHandler)
    print(f"server:http://{host}:{port}")
    server.serve_forever()


if __name__ == '__main__':
    run()



关于回调的信息我们有详细的说明:

1. 回调的任务信息:

参数详解:
| 字段 | 类型 | 描述 |
| :---- | :---------- | :---- |
| platform | str | 平台号 |
| action | str | 任务类型,下面有进一步的说明 |
| taskId | int | 任务号 |
| parentId | int | 壳id |
| type | int | |
| bigTaskState | str | 大任务状态 |
| taskStartTime | int | 大任务开始时间 |
| taskEndTime | int | 大任务结束时间 |
| runningCount | int | 小任务运行的数量 |
| waitingCount | int | 小任务等待的数量 |
| successCount | int | 小任务成功的数量 |
| failureCount | int | 小任务失败的数量 |
| abortedCount | int | 小任务放弃的数量 |
| timeoutCount | int | 小任务超时停止数量 |
| frameInfoId | int | 帧详情表主键id |
| smallJobState | str | 小任务状态 |
| jobStartTime | int | 小任务调度开始时间 |
| jobEndTime | int | 小任务调度结束时间 |
| renderType | str | 0/GPU,1/CPU |
| renderStartTime | int | 小任务渲染开始时间 |
| renderEndTime | int | 小任务渲染结束时间 |

任务类型 action
任务类型 描述
Analyze 分析
Pre 预处理
RenderPhoton 光子
MergePhoton 合并光子
PreRender 优先渲染任务
Render 普通渲染任务

2. 扣费信息详细说明:

参数详解:
| 字段 | 类型 | 描述 |
| :---- | :---------- | :---- |
| userId | int | 用户id |
| mainUserId | int | 主账号id |
| userName | str | 用户名 |
| feeAll | int | 总消费金额 |
| taskId | int | 任务ID |
| jobId | int | 小任务ID|
| unitPrice | int | 单价 |
| feeTime | int | 时长 |
| frameName | str | 扣费帧名称 |
| startTime | int | 开始时间 |
| endTime | int | 结束时间 |
| platform | str | 平台号 |
| isMoreFrame | bool | 是否一机多帧 |
| isMaxPrice | str | 标识是封顶帧 |
| bigPic | str | 大图路径 |
| smallPic | str | 缩略图名 |
| frameRam | int | 扣费内存 |

问题反馈?
在使用过程中,遇到问题或有其他建议,都可以跟我们沟通哦~
在线沟通
Chat now with support
  • 2424
    24小时全国服务热线
    400-003-4560
  • wechat