跳转至

停止任务

1. 接口参数

Path:

/api/v1/task_stop/wf

method:

post

Request params:

参数名称 类型 必须 描述
api_name string api的名称,在申请wfAPI时的名称,可填写任意值,但请注意,为保证是测试api,此参数内必须包含test,例如:wfapi_test。
api_id string api的id,申请wf的测试环境的api下发的id,请注意!必须为测试环境的api!!!
task_id string 创建任务接口返回的UUID,为任务id

2. 接口返回

成功:

{
"code": 200,
"message": "任务已下发停止标志,需等待当前不可中断阶段执行完成,请稍后携带task_id访问进度"
}

用户可自行调取停止任务接口,来主动停止任务。

3. 注意事项

3.1 可强行停止期限

任务创建后会被放入任务队列,等待celery消费者领取,在任务被消费者领取后,依旧有10min等待期,等待期与任务执行期中,可随时调用停止任务接口,强行对还未开始或已经开始的任务进行中断,但请注意,一旦任务开始执行,只有任务执行到下个节点,才会被停止,也就是说,任务可能不会立即停止,在任务执行函数中,每隔一些接口才会检查停止标志,一旦检测到停止标志,任务才会停止并执行保存日志并返回,但在等待期间,函数每10秒检查一次停止标志;

3.2 不可中断期

celery​消费者领取完任务后,依旧会有10min等待期,详见项目代码,在调取任务进度接口时,当任务状态从PENDING​变为PROCESSING即表示,任务已被领取并在执行;在任务创建成功后的任意阶段,用户均可调取本接口,主动停止任务,但在任务等待期后,任务请求开始执行中,函数会"批次"执行,在批次执行中,任务不会检查中断标记,详见项目代码解析,在批次请求执行中,为不可中断期,请注意接口运行时间节点。