onFinish回调的第一个参数是Task对象,包含任务ID($task->id)、传递数据($task->data)、工作进程ID($task->worker_id)及返回结果方法($task->finish()),该回调在异步任务完成并调用finish时触发,用于接收处理结果。

在swoole中,onFinish 回调方法的第一个参数是 $task,它是一个 Task 对象,表示已完成的任务。
任务对象($task)包含的关键属性和方法:
• $task->id:任务的ID,由 swoole_server->task() 返回时指定
• $task->data:任务传递的数据,即调用 task() 时传入的内容
• $task->worker_id:执行该任务的工作进程ID
• $task->finish($data):可在 onTask 中调用,用于向 onFinish 返回数据
这个回调只在 投递异步任务并启用任务结果处理 时触发。通常你在 onTask 中处理完任务后,调用 $task->finish($result),然后主进程的 onFinish 就会被触发,接收这个 $task 对象,并可通过 $task->data 获取返回结果。
典型使用场景示例:
• 在 onTask 中处理耗时任务
• 调用 $task->finish('处理完成') 返回结果
• 在 onFinish 中通过 $task->data 获取返回值并做后续处理
基本上就这些,onFinish 的第一个参数就是代表已完成任务的 Task 对象,你可以从中获取任务ID、传递数据和返回结果。


