26 lines
696 B
PHP
26 lines
696 B
PHP
<?php
|
||
|
||
namespace app\queue;
|
||
|
||
use app\admin\model\DiscSpinning;
|
||
use think\facade\Log;
|
||
use think\queue\Job;
|
||
|
||
class DiscCompensateJob
|
||
{
|
||
|
||
public function fire(Job $job, $data) {
|
||
try {
|
||
Log::write('准备处理DiscCompensateJob' . json_encode($data, JSON_UNESCAPED_UNICODE));
|
||
DiscSpinning::receive1($data);
|
||
$job->delete(); // 处理成功删除任务
|
||
} catch (\Exception $e) {
|
||
if ($job->attempts() < 3) {
|
||
$job->release(5); // 重试3次,间隔5秒
|
||
} else {
|
||
$job->delete();
|
||
Log::error("大转盘补偿任务最终失败:ID={$data['id']}");
|
||
}
|
||
}
|
||
}
|
||
} |