This commit is contained in:
wangjinlei
2026-04-16 13:30:31 +08:00
parent a2338340f6
commit ae221e6be6
8 changed files with 838 additions and 91 deletions

View File

@@ -0,0 +1,37 @@
<?php
namespace app\api\job;
use think\queue\Job;
use app\common\PromotionService;
/**
* 队列任务:对单个 promotion_task 执行 prepareTask预生成 subject/body
*
* 队列名promotion
* 启动 workerphp think queue:listen --queue promotion
*/
class PromotionPrepare
{
public function fire(Job $job, $data)
{
$taskId = intval(isset($data['task_id']) ? $data['task_id'] : 0);
$service = new PromotionService();
if (!$taskId) {
$job->delete();
return;
}
try {
$result = $service->prepareTask($taskId);
$service->log('[PromotionPrepare] task=' . $taskId
. ' prepared=' . $result['prepared']
. ' failed=' . $result['failed']);
} catch (\Exception $e) {
$service->log('[PromotionPrepare] task=' . $taskId . ' exception=' . $e->getMessage());
}
$job->delete();
}
}