32 lines
841 B
PHP
32 lines
841 B
PHP
<?php
|
|
|
|
namespace app\api\job;
|
|
|
|
use think\queue\Job;
|
|
use app\common\ExpertFieldAiService;
|
|
|
|
/**
|
|
* Expert field_ai 链式任务:先尝试 user 关联,主流程 AI 总结
|
|
*
|
|
* Worker: php think queue:work --queue ExpertFieldAi
|
|
*/
|
|
class ExpertFieldAiFill
|
|
{
|
|
public function fire(Job $job, $data)
|
|
{
|
|
$expertId = isset($data['expert_id']) ? intval($data['expert_id']) : 0;
|
|
$queue = isset($data['queue']) ? (string)$data['queue'] : ExpertFieldAiService::QUEUE_NAME;
|
|
$force = !empty($data['force']);
|
|
|
|
$svc = new ExpertFieldAiService();
|
|
if ($expertId > 0) {
|
|
$svc->processExpert($expertId, $force);
|
|
}
|
|
|
|
$job->delete();
|
|
|
|
$delay = max(0, (int)(isset($data['delay']) ? $data['delay'] : 1));
|
|
$svc->enqueueNext($delay, $queue, $expertId, $force);
|
|
}
|
|
}
|