diff --git a/app/Jobs/Host/DeleteHostJob.php b/app/Jobs/Host/DeleteHostJob.php index 778a9fb..a1c01cf 100644 --- a/app/Jobs/Host/DeleteHostJob.php +++ b/app/Jobs/Host/DeleteHostJob.php @@ -48,7 +48,7 @@ public function handle(): void // 查找不可用时间超过 3 天以上的 host (new Host)->where('status', 'unavailable')->where('unavailable_at', '<', now()->subDays(3))->chunk(100, function ($hosts) { foreach ($hosts as $host) { - dispatch(new HostJob($host, 'delete')); + dispatch(new HostJob($host, 'delete', false)); } }); diff --git a/app/Jobs/Host/HostJob.php b/app/Jobs/Host/HostJob.php index 5734403..840ff3b 100644 --- a/app/Jobs/Host/HostJob.php +++ b/app/Jobs/Host/HostJob.php @@ -14,20 +14,22 @@ class HostJob implements ShouldQueue { use InteractsWithQueue, Queueable, SerializesModels; - public HostModel $host; + protected HostModel $host; - public string $type; + protected string $type; + + protected bool $pass_unavailable; /** * Create a new job instance. * * @return void */ - public function __construct(HostModel $host, $type = 'post') + public function __construct(HostModel $host, $type = 'post', $pass_unavailable = true) { - // $this->host = $host; $this->type = $type; + $this->pass_unavailable = $pass_unavailable; } /** @@ -42,7 +44,7 @@ public function handle(): void $host = $this->host; // 忽略 unavailable 状态的 host - if ($host->status === 'unavailable') { + if (! $this->pass_unavailable && $host->status === 'unavailable') { return; }