Files
lgp-admin-plus-api/app/Jobs/ScanMediaReferencesJob.php

34 lines
947 B
PHP
Raw Normal View History

<?php
namespace App\Jobs;
use App\Service\MaterialService;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Queue\Queueable;
/**
* 引用扫描任务
*
* 与接口版调的是同一个 Service 方法。留这个 Job 是为了以后能挂定时(比如每天夜里扫一次):
* ref_count 越新,回收判断越准,靠人记得点按钮迟早会漏。
* 这里不改任何队列配置,默认驱动下 dispatch 等于同步执行。
*/
class ScanMediaReferencesJob implements ShouldQueue
{
use Queueable;
/**
* @param array $params 预留给 MaterialService::scanReferences 的扫描参数
*/
public function __construct(public array $params = [])
{
}
public function handle(): void
{
// 全库逐表逐字段扫,默认 30 秒执行时限根本不够
cc_set_time_limit();
MaterialService::getInstance()->scanReferences($this->params);
}
}