diff --git a/app/Jobs/PollForMediaWikiJobsJob.php b/app/Jobs/PollForMediaWikiJobsJob.php index 6e3ad016..0f0f8291 100644 --- a/app/Jobs/PollForMediaWikiJobsJob.php +++ b/app/Jobs/PollForMediaWikiJobsJob.php @@ -3,6 +3,7 @@ namespace App\Jobs; use App\Services\MediaWikiHostResolver; +use App\Services\UnknownWikiDomainException; use App\Wiki; use Illuminate\Contracts\Queue\ShouldBeUnique; use Illuminate\Contracts\Queue\ShouldQueue; @@ -25,11 +26,17 @@ public function handle(MediaWikiHostResolver $mwHostResolver): void { } private function hasPendingJobs(string $wikiDomain): bool { - $response = Http::withHeaders([ - 'host' => $wikiDomain, - ])->get( - $this->mwHostResolver->getBackendUrlForDomain($wikiDomain) . '/w/api.php?action=query&meta=siteinfo&siprop=statistics&format=json' - ); + try { + $response = Http::withHeaders([ + 'host' => $wikiDomain, + ])->get( + $this->mwHostResolver->getBackendUrlForDomain($wikiDomain) . '/w/api.php?action=query&meta=siteinfo&siprop=statistics&format=json' + ); + } catch (UnknownWikiDomainException $e) { + Log::warning('Skipping wiki ' . $wikiDomain . ' for pending MediaWiki jobs: ' . $e->getMessage()); + + return false; + } if ($response->failed()) { $this->job->markAsFailed();