22
33namespace App \Jobs ;
44
5+ use App \Services \MediaWikiHostResolver ;
56use App \Wiki ;
67use App \WikiSiteStats ;
78use Carbon \Carbon ;
@@ -17,7 +18,11 @@ class UpdateWikiSiteStatsJob extends Job implements ShouldBeUnique {
1718
1819 public $ timeout = 3600 ;
1920
20- public function handle (): void {
21+ private MediaWikiHostResolver $ mwHostResolver ;
22+
23+ public function handle (MediaWikiHostResolver $ mwHostResolver ): void {
24+ $ this ->mwHostResolver = $ mwHostResolver ;
25+
2126 $ allWikis = Wiki::all ();
2227 foreach ($ allWikis as $ wiki ) {
2328 try {
@@ -54,7 +59,7 @@ private function updateSiteStats(Wiki $wiki): void {
5459 $ response = Http::withHeaders ([
5560 'host ' => $ wiki ->getAttribute ('domain ' ),
5661 ])->get (
57- getenv ( ' PLATFORM_MW_BACKEND_HOST ' ) . '/w/api.php?action=query&meta=siteinfo&siprop=statistics&format=json '
62+ $ this -> mwHostResolver -> getBackendHostForDomain ( $ wiki -> domain ) . '/w/api.php?action=query&meta=siteinfo&siprop=statistics&format=json '
5863 );
5964
6065 if ($ response ->failed ()) {
@@ -76,7 +81,7 @@ private function updateSiteStats(Wiki $wiki): void {
7681
7782 private function getFirstEditedDate (Wiki $ wiki ): ?CarbonInterface {
7883 $ allRevisions = Http::withHeaders (['host ' => $ wiki ->getAttribute ('domain ' )])->get (
79- getenv ( ' PLATFORM_MW_BACKEND_HOST ' ) . '/w/api.php ' ,
84+ $ this -> mwHostResolver -> getBackendHostForDomain ( $ wiki -> domain ) . '/w/api.php ' ,
8085 [
8186 'action ' => 'query ' ,
8287 'format ' => 'json ' ,
@@ -94,7 +99,7 @@ private function getFirstEditedDate(Wiki $wiki): ?CarbonInterface {
9499 }
95100
96101 $ revisionInfo = Http::withHeaders (['host ' => $ wiki ->getAttribute ('domain ' )])->get (
97- getenv ( ' PLATFORM_MW_BACKEND_HOST ' ) . '/w/api.php ' ,
102+ $ this -> mwHostResolver -> getBackendHostForDomain ( $ wiki -> domain ) . '/w/api.php ' ,
98103 [
99104 'action ' => 'query ' ,
100105 'format ' => 'json ' ,
@@ -114,7 +119,7 @@ private function getFirstEditedDate(Wiki $wiki): ?CarbonInterface {
114119
115120 private function getLastEditedDate (Wiki $ wiki ): ?CarbonInterface {
116121 $ allRevisions = Http::withHeaders (['host ' => $ wiki ->getAttribute ('domain ' )])->get (
117- getenv ( ' PLATFORM_MW_BACKEND_HOST ' ) . '/w/api.php ' ,
122+ $ this -> mwHostResolver -> getBackendHostForDomain ( $ wiki -> domain ) . '/w/api.php ' ,
118123 [
119124 'action ' => 'query ' ,
120125 'format ' => 'json ' ,
@@ -132,7 +137,7 @@ private function getLastEditedDate(Wiki $wiki): ?CarbonInterface {
132137 }
133138
134139 $ revisionInfo = Http::withHeaders (['host ' => $ wiki ->getAttribute ('domain ' )])->get (
135- getenv ( ' PLATFORM_MW_BACKEND_HOST ' ) . '/w/api.php ' ,
140+ $ this -> mwHostResolver -> getBackendHostForDomain ( $ wiki -> domain ) . '/w/api.php ' ,
136141 [
137142 'action ' => 'query ' ,
138143 'format ' => 'json ' ,
0 commit comments