aboutsummaryrefslogtreecommitdiffstats
path: root/includes
diff options
context:
space:
mode:
Diffstat (limited to 'includes')
-rw-r--r--includes/MainConfigSchema.php30
-rw-r--r--includes/MediaWikiEntryPoint.php4
-rw-r--r--includes/MediaWikiServices.php4
-rw-r--r--includes/RenameUser/Job/RenameUserDerivedJob.php2
-rw-r--r--includes/RenameUser/Job/RenameUserTableJob.php2
-rw-r--r--includes/RenameUser/RenameUser.php2
-rw-r--r--includes/RenameUser/RenameuserSQL.php4
-rw-r--r--includes/SiteStats/SiteStats.php2
-rw-r--r--includes/Storage/DerivedPageDataUpdater.php6
-rw-r--r--includes/Storage/PageUpdaterFactory.php2
-rw-r--r--includes/Storage/RevertedTagUpdateManager.php4
-rw-r--r--includes/api/ApiUpload.php8
-rw-r--r--includes/config-schema.php34
-rw-r--r--includes/deferred/CdnCacheUpdate.php2
-rw-r--r--includes/deferred/EnqueueableDataUpdate.php2
-rw-r--r--includes/deferred/JobQueueEnqueueUpdate.php2
-rw-r--r--includes/deferred/LinksUpdate/CategoryLinksTable.php2
-rw-r--r--includes/deferred/LinksUpdate/ImageLinksTable.php2
-rw-r--r--includes/deferred/LinksUpdate/LinksDeletionUpdate.php2
-rw-r--r--includes/deferred/LinksUpdate/LinksUpdate.php4
-rw-r--r--includes/deferred/LinksUpdate/PagePropsTable.php2
-rw-r--r--includes/deferred/RefreshSecondaryDataUpdate.php2
-rw-r--r--includes/filerepo/file/LocalFile.php2
-rw-r--r--includes/jobqueue/GenericParameterJob.php5
-rw-r--r--includes/jobqueue/IJobSpecification.php5
-rw-r--r--includes/jobqueue/Job.php6
-rw-r--r--includes/jobqueue/JobFactory.php2
-rw-r--r--includes/jobqueue/JobQueue.php19
-rw-r--r--includes/jobqueue/JobQueueDB.php24
-rw-r--r--includes/jobqueue/JobQueueFederated.php13
-rw-r--r--includes/jobqueue/JobQueueGroup.php8
-rw-r--r--includes/jobqueue/JobQueueGroupFactory.php1
-rw-r--r--includes/jobqueue/JobQueueMemory.php11
-rw-r--r--includes/jobqueue/JobQueueRedis.php23
-rw-r--r--includes/jobqueue/JobRunner.php10
-rw-r--r--includes/jobqueue/JobSpecification.php6
-rw-r--r--includes/jobqueue/RunnableJob.php5
-rw-r--r--includes/jobqueue/exception/JobQueueConnectionError.php5
-rw-r--r--includes/jobqueue/exception/JobQueueError.php7
-rw-r--r--includes/jobqueue/exception/JobQueueReadOnlyError.php5
-rw-r--r--includes/jobqueue/jobs/AssembleUploadChunksJob.php12
-rw-r--r--includes/jobqueue/jobs/CategoryMembershipChangeJob.php9
-rw-r--r--includes/jobqueue/jobs/CdnPurgeJob.php7
-rw-r--r--includes/jobqueue/jobs/DeleteLinksJob.php6
-rw-r--r--includes/jobqueue/jobs/DeletePageJob.php7
-rw-r--r--includes/jobqueue/jobs/DoubleRedirectJob.php6
-rw-r--r--includes/jobqueue/jobs/DuplicateJob.php9
-rw-r--r--includes/jobqueue/jobs/HTMLCacheUpdateJob.php7
-rw-r--r--includes/jobqueue/jobs/NullJob.php7
-rw-r--r--includes/jobqueue/jobs/ParsoidCachePrewarmJob.php7
-rw-r--r--includes/jobqueue/jobs/PublishStashedFileJob.php9
-rw-r--r--includes/jobqueue/jobs/RefreshLinksJob.php8
-rw-r--r--includes/jobqueue/jobs/RevertedTagUpdateJob.php8
-rw-r--r--includes/jobqueue/jobs/ThumbnailRenderJob.php9
-rw-r--r--includes/jobqueue/jobs/UploadFromUrlJob.php9
-rw-r--r--includes/jobqueue/jobs/UploadJobTrait.php8
-rw-r--r--includes/jobqueue/utils/BacklinkJobUtils.php6
-rw-r--r--includes/jobqueue/utils/PurgeJobUtils.php6
-rw-r--r--includes/page/Article.php4
-rw-r--r--includes/page/DeletePage.php4
-rw-r--r--includes/page/PageCommandFactory.php2
-rw-r--r--includes/page/UndeletePage.php2
-rw-r--r--includes/page/WikiPage.php2
-rw-r--r--includes/recentchanges/ChangeTrackingEventIngress.php4
-rw-r--r--includes/recentchanges/RecentChangesUpdateJob.php2
-rw-r--r--includes/specials/SpecialMovePage.php2
-rw-r--r--includes/specials/SpecialRunJobs.php2
-rw-r--r--includes/specials/SpecialUpload.php5
-rw-r--r--includes/user/UserEditTracker.php2
-rw-r--r--includes/user/UserGroupManager.php2
-rw-r--r--includes/watchlist/ActivityUpdateJob.php2
-rw-r--r--includes/watchlist/ClearUserWatchlistJob.php4
-rw-r--r--includes/watchlist/ClearWatchlistNotificationsJob.php4
-rw-r--r--includes/watchlist/WatchedItemStore.php2
-rw-r--r--includes/watchlist/WatchlistExpiryJob.php2
75 files changed, 361 insertions, 107 deletions
diff --git a/includes/MainConfigSchema.php b/includes/MainConfigSchema.php
index aafd4813c3a1..7814ed757e4f 100644
--- a/includes/MainConfigSchema.php
+++ b/includes/MainConfigSchema.php
@@ -11,20 +11,12 @@
// phpcs:disable Generic.Files.LineLength.TooLong
namespace MediaWiki;
-use AssembleUploadChunksJob;
-use CategoryMembershipChangeJob;
-use CdnPurgeJob;
use DateTime;
use DateTimeZone;
-use DeleteLinksJob;
-use DeletePageJob;
-use DoubleRedirectJob;
use EmaillingJob;
use EnotifNotifyJob;
use Generator;
-use HTMLCacheUpdateJob;
use InvalidArgumentException;
-use JobQueueDB;
use LocalisationCache;
use MediaWiki\Auth\CheckBlocksSecondaryAuthenticationProvider;
use MediaWiki\Auth\EmailNotificationSecondaryAuthenticationProvider;
@@ -43,6 +35,21 @@ use MediaWiki\Content\TextContentHandler;
use MediaWiki\Content\WikitextContentHandler;
use MediaWiki\Deferred\SiteStatsUpdate;
use MediaWiki\FileRepo\LocalRepo;
+use MediaWiki\JobQueue\JobQueueDB;
+use MediaWiki\JobQueue\Jobs\AssembleUploadChunksJob;
+use MediaWiki\JobQueue\Jobs\CategoryMembershipChangeJob;
+use MediaWiki\JobQueue\Jobs\CdnPurgeJob;
+use MediaWiki\JobQueue\Jobs\DeleteLinksJob;
+use MediaWiki\JobQueue\Jobs\DeletePageJob;
+use MediaWiki\JobQueue\Jobs\DoubleRedirectJob;
+use MediaWiki\JobQueue\Jobs\HTMLCacheUpdateJob;
+use MediaWiki\JobQueue\Jobs\NullJob;
+use MediaWiki\JobQueue\Jobs\ParsoidCachePrewarmJob;
+use MediaWiki\JobQueue\Jobs\PublishStashedFileJob;
+use MediaWiki\JobQueue\Jobs\RefreshLinksJob;
+use MediaWiki\JobQueue\Jobs\RevertedTagUpdateJob;
+use MediaWiki\JobQueue\Jobs\ThumbnailRenderJob;
+use MediaWiki\JobQueue\Jobs\UploadFromUrlJob;
use MediaWiki\Logging\BlockLogFormatter;
use MediaWiki\Logging\ContentModelLogFormatter;
use MediaWiki\Logging\DeleteLogFormatter;
@@ -81,15 +88,8 @@ use MediaWiki\Watchlist\ActivityUpdateJob;
use MediaWiki\Watchlist\ClearUserWatchlistJob;
use MediaWiki\Watchlist\ClearWatchlistNotificationsJob;
use MediaWiki\Watchlist\WatchlistExpiryJob;
-use NullJob;
-use ParsoidCachePrewarmJob;
-use PublishStashedFileJob;
use ReflectionClass;
-use RefreshLinksJob;
-use RevertedTagUpdateJob;
use SqlBagOStuff;
-use ThumbnailRenderJob;
-use UploadFromUrlJob;
use UserEditCountInitJob;
use UserGroupExpiryJob;
use UserOptionsUpdateJob;
diff --git a/includes/MediaWikiEntryPoint.php b/includes/MediaWikiEntryPoint.php
index 76fb6dad18f0..d4b55cebb1c0 100644
--- a/includes/MediaWikiEntryPoint.php
+++ b/includes/MediaWikiEntryPoint.php
@@ -22,8 +22,6 @@ namespace MediaWiki;
use Exception;
use HttpStatus;
-use JobQueueGroup;
-use JobRunner;
use Liuggio\StatsdClient\Sender\SocketSender;
use Liuggio\StatsdClient\StatsdClient;
use LogicException;
@@ -34,7 +32,9 @@ use MediaWiki\Context\IContextSource;
use MediaWiki\Deferred\DeferredUpdates;
use MediaWiki\Deferred\TransactionRoundDefiningUpdate;
use MediaWiki\HookContainer\ProtectedHookAccessorTrait;
+use MediaWiki\JobQueue\JobQueueGroup;
use MediaWiki\JobQueue\JobQueueGroupFactory;
+use MediaWiki\JobQueue\JobRunner;
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\Request\WebRequest;
use MediaWiki\Request\WebResponse;
diff --git a/includes/MediaWikiServices.php b/includes/MediaWikiServices.php
index cef228023a25..a4c64ecaeef4 100644
--- a/includes/MediaWikiServices.php
+++ b/includes/MediaWikiServices.php
@@ -22,8 +22,6 @@ namespace MediaWiki;
use ExternalStoreAccess;
use ExternalStoreFactory;
-use JobQueueGroup;
-use JobRunner;
use Liuggio\StatsdClient\Factory\StatsdDataFactoryInterface;
use LocalisationCache;
use LogicException;
@@ -83,7 +81,9 @@ use MediaWiki\Installer\Pingback;
use MediaWiki\Interwiki\InterwikiLookup;
use MediaWiki\Interwiki\NullInterwikiLookup;
use MediaWiki\JobQueue\JobFactory;
+use MediaWiki\JobQueue\JobQueueGroup;
use MediaWiki\JobQueue\JobQueueGroupFactory;
+use MediaWiki\JobQueue\JobRunner;
use MediaWiki\Json\JsonCodec;
use MediaWiki\Language\FormatterFactory;
use MediaWiki\Language\Language;
diff --git a/includes/RenameUser/Job/RenameUserDerivedJob.php b/includes/RenameUser/Job/RenameUserDerivedJob.php
index 240766c0708e..69042072c281 100644
--- a/includes/RenameUser/Job/RenameUserDerivedJob.php
+++ b/includes/RenameUser/Job/RenameUserDerivedJob.php
@@ -2,7 +2,7 @@
namespace MediaWiki\RenameUser\Job;
-use Job;
+use MediaWiki\JobQueue\Job;
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\RenameUser\RenameUserFactory;
use MediaWiki\Title\Title;
diff --git a/includes/RenameUser/Job/RenameUserTableJob.php b/includes/RenameUser/Job/RenameUserTableJob.php
index 03552b40e1da..c6f7e497b62d 100644
--- a/includes/RenameUser/Job/RenameUserTableJob.php
+++ b/includes/RenameUser/Job/RenameUserTableJob.php
@@ -3,8 +3,8 @@
namespace MediaWiki\RenameUser\Job;
use InvalidArgumentException;
-use Job;
use MediaWiki\Config\Config;
+use MediaWiki\JobQueue\Job;
use MediaWiki\MainConfigNames;
use MediaWiki\Title\Title;
use Wikimedia\Rdbms\ILBFactory;
diff --git a/includes/RenameUser/RenameUser.php b/includes/RenameUser/RenameUser.php
index a72fc0ab52f3..4b022b0ad4b3 100644
--- a/includes/RenameUser/RenameUser.php
+++ b/includes/RenameUser/RenameUser.php
@@ -2,11 +2,11 @@
namespace MediaWiki\RenameUser;
-use JobSpecification;
use LogicException;
use MediaWiki\Config\ServiceOptions;
use MediaWiki\Context\RequestContext;
use MediaWiki\JobQueue\JobQueueGroupFactory;
+use MediaWiki\JobQueue\JobSpecification;
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\MainConfigNames;
use MediaWiki\Page\MovePageFactory;
diff --git a/includes/RenameUser/RenameuserSQL.php b/includes/RenameUser/RenameuserSQL.php
index cf59dbcc0915..fa275c6978d7 100644
--- a/includes/RenameUser/RenameuserSQL.php
+++ b/includes/RenameUser/RenameuserSQL.php
@@ -2,9 +2,9 @@
namespace MediaWiki\RenameUser;
-use JobQueueGroup;
-use JobSpecification;
use MediaWiki\HookContainer\HookRunner;
+use MediaWiki\JobQueue\JobQueueGroup;
+use MediaWiki\JobQueue\JobSpecification;
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\Logging\ManualLogEntry;
use MediaWiki\MainConfigNames;
diff --git a/includes/SiteStats/SiteStats.php b/includes/SiteStats/SiteStats.php
index 149e43e02196..27bd446cd1e5 100644
--- a/includes/SiteStats/SiteStats.php
+++ b/includes/SiteStats/SiteStats.php
@@ -22,7 +22,7 @@
namespace MediaWiki\SiteStats;
-use JobQueueError;
+use MediaWiki\JobQueue\Exceptions\JobQueueError;
use MediaWiki\MainConfigNames;
use MediaWiki\MediaWikiServices;
use stdClass;
diff --git a/includes/Storage/DerivedPageDataUpdater.php b/includes/Storage/DerivedPageDataUpdater.php
index 32a2b7ddbc9a..bd3794e9d09b 100644
--- a/includes/Storage/DerivedPageDataUpdater.php
+++ b/includes/Storage/DerivedPageDataUpdater.php
@@ -20,10 +20,8 @@
namespace MediaWiki\Storage;
-use CategoryMembershipChangeJob;
use ChangeTags;
use InvalidArgumentException;
-use JobQueueGroup;
use LogicException;
use MediaWiki\ChangeTags\ChangeTagsStore;
use MediaWiki\Config\ServiceOptions;
@@ -40,6 +38,9 @@ use MediaWiki\DomainEvent\DomainEventDispatcher;
use MediaWiki\Edit\PreparedEdit;
use MediaWiki\HookContainer\HookContainer;
use MediaWiki\HookContainer\HookRunner;
+use MediaWiki\JobQueue\JobQueueGroup;
+use MediaWiki\JobQueue\Jobs\CategoryMembershipChangeJob;
+use MediaWiki\JobQueue\Jobs\ParsoidCachePrewarmJob;
use MediaWiki\Language\Language;
use MediaWiki\MainConfigNames;
use MediaWiki\Page\Event\PageRevisionUpdatedEvent;
@@ -63,7 +64,6 @@ use MediaWiki\Title\Title;
use MediaWiki\User\UserIdentity;
use MediaWiki\Utils\MWTimestamp;
use MWUnknownContentModelException;
-use ParsoidCachePrewarmJob;
use Psr\Log\LoggerAwareInterface;
use Psr\Log\LoggerInterface;
use Psr\Log\NullLogger;
diff --git a/includes/Storage/PageUpdaterFactory.php b/includes/Storage/PageUpdaterFactory.php
index ee78ca622356..7bb77215d916 100644
--- a/includes/Storage/PageUpdaterFactory.php
+++ b/includes/Storage/PageUpdaterFactory.php
@@ -20,13 +20,13 @@
namespace MediaWiki\Storage;
-use JobQueueGroup;
use MediaWiki\ChangeTags\ChangeTagsStore;
use MediaWiki\Config\ServiceOptions;
use MediaWiki\Content\IContentHandlerFactory;
use MediaWiki\Content\Transform\ContentTransformer;
use MediaWiki\DomainEvent\DomainEventDispatcher;
use MediaWiki\HookContainer\HookContainer;
+use MediaWiki\JobQueue\JobQueueGroup;
use MediaWiki\Language\Language;
use MediaWiki\MainConfigNames;
use MediaWiki\Page\PageIdentity;
diff --git a/includes/Storage/RevertedTagUpdateManager.php b/includes/Storage/RevertedTagUpdateManager.php
index 60ef8c1b5e8c..2b2cdf9db921 100644
--- a/includes/Storage/RevertedTagUpdateManager.php
+++ b/includes/Storage/RevertedTagUpdateManager.php
@@ -20,8 +20,8 @@
namespace MediaWiki\Storage;
-use JobQueueGroup;
-use RevertedTagUpdateJob;
+use MediaWiki\JobQueue\JobQueueGroup;
+use MediaWiki\JobQueue\Jobs\RevertedTagUpdateJob;
/**
* Class for managing delayed RevertedTagUpdateJob waiting for user approval.
diff --git a/includes/api/ApiUpload.php b/includes/api/ApiUpload.php
index bb0b9971cfa6..b06a4164a23c 100644
--- a/includes/api/ApiUpload.php
+++ b/includes/api/ApiUpload.php
@@ -27,12 +27,14 @@
namespace MediaWiki\Api;
-use AssembleUploadChunksJob;
use ChangeTags;
use Exception;
-use JobQueueGroup;
use MediaWiki\Config\Config;
use MediaWiki\FileRepo\File\LocalFile;
+use MediaWiki\JobQueue\JobQueueGroup;
+use MediaWiki\JobQueue\Jobs\AssembleUploadChunksJob;
+use MediaWiki\JobQueue\Jobs\PublishStashedFileJob;
+use MediaWiki\JobQueue\Jobs\UploadFromUrlJob;
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\MainConfigNames;
use MediaWiki\MediaWikiServices;
@@ -42,14 +44,12 @@ use MediaWiki\User\Options\UserOptionsLookup;
use MediaWiki\User\User;
use MediaWiki\Watchlist\WatchlistManager;
use Psr\Log\LoggerInterface;
-use PublishStashedFileJob;
use StatusValue;
use UploadBase;
use UploadFromChunks;
use UploadFromFile;
use UploadFromStash;
use UploadFromUrl;
-use UploadFromUrlJob;
use UploadStashBadPathException;
use UploadStashException;
use UploadStashFileException;
diff --git a/includes/config-schema.php b/includes/config-schema.php
index bbbf4187de76..a5618afdc7db 100644
--- a/includes/config-schema.php
+++ b/includes/config-schema.php
@@ -2111,10 +2111,10 @@ return [
'ServiceWiringFiles' => [
],
'JobClasses' => [
- 'deletePage' => 'DeletePageJob',
- 'refreshLinks' => 'RefreshLinksJob',
- 'deleteLinks' => 'DeleteLinksJob',
- 'htmlCacheUpdate' => 'HTMLCacheUpdateJob',
+ 'deletePage' => 'MediaWiki\\JobQueue\\Jobs\\DeletePageJob',
+ 'refreshLinks' => 'MediaWiki\\JobQueue\\Jobs\\RefreshLinksJob',
+ 'deleteLinks' => 'MediaWiki\\JobQueue\\Jobs\\DeleteLinksJob',
+ 'htmlCacheUpdate' => 'MediaWiki\\JobQueue\\Jobs\\HTMLCacheUpdateJob',
'sendMail' => [
'class' => 'EmaillingJob',
'services' => [
@@ -2123,7 +2123,7 @@ return [
],
'enotifNotify' => 'EnotifNotifyJob',
'fixDoubleRedirect' => [
- 'class' => 'DoubleRedirectJob',
+ 'class' => 'MediaWiki\\JobQueue\\Jobs\\DoubleRedirectJob',
'services' => [
'RevisionLookup',
'MagicWordFactory',
@@ -2131,26 +2131,26 @@ return [
],
'needsPage' => true,
],
- 'AssembleUploadChunks' => 'AssembleUploadChunksJob',
- 'PublishStashedFile' => 'PublishStashedFileJob',
- 'ThumbnailRender' => 'ThumbnailRenderJob',
- 'UploadFromUrl' => 'UploadFromUrlJob',
+ 'AssembleUploadChunks' => 'MediaWiki\\JobQueue\\Jobs\\AssembleUploadChunksJob',
+ 'PublishStashedFile' => 'MediaWiki\\JobQueue\\Jobs\\PublishStashedFileJob',
+ 'ThumbnailRender' => 'MediaWiki\\JobQueue\\Jobs\\ThumbnailRenderJob',
+ 'UploadFromUrl' => 'MediaWiki\\JobQueue\\Jobs\\UploadFromUrlJob',
'recentChangesUpdate' => 'MediaWiki\\RecentChanges\\RecentChangesUpdateJob',
- 'refreshLinksPrioritized' => 'RefreshLinksJob',
- 'refreshLinksDynamic' => 'RefreshLinksJob',
+ 'refreshLinksPrioritized' => 'MediaWiki\\JobQueue\\Jobs\\RefreshLinksJob',
+ 'refreshLinksDynamic' => 'MediaWiki\\JobQueue\\Jobs\\RefreshLinksJob',
'activityUpdateJob' => 'MediaWiki\\Watchlist\\ActivityUpdateJob',
- 'categoryMembershipChange' => 'CategoryMembershipChangeJob',
+ 'categoryMembershipChange' => 'MediaWiki\\JobQueue\\Jobs\\CategoryMembershipChangeJob',
'clearUserWatchlist' => 'MediaWiki\\Watchlist\\ClearUserWatchlistJob',
'watchlistExpiry' => 'MediaWiki\\Watchlist\\WatchlistExpiryJob',
- 'cdnPurge' => 'CdnPurgeJob',
+ 'cdnPurge' => 'MediaWiki\\JobQueue\\Jobs\\CdnPurgeJob',
'userGroupExpiry' => 'UserGroupExpiryJob',
'clearWatchlistNotifications' => 'MediaWiki\\Watchlist\\ClearWatchlistNotificationsJob',
'userOptionsUpdate' => 'UserOptionsUpdateJob',
- 'revertedTagUpdate' => 'RevertedTagUpdateJob',
- 'null' => 'NullJob',
+ 'revertedTagUpdate' => 'MediaWiki\\JobQueue\\Jobs\\RevertedTagUpdateJob',
+ 'null' => 'MediaWiki\\JobQueue\\Jobs\\NullJob',
'userEditCountInit' => 'UserEditCountInitJob',
'parsoidCachePrewarm' => [
- 'class' => 'ParsoidCachePrewarmJob',
+ 'class' => 'MediaWiki\\JobQueue\\Jobs\\ParsoidCachePrewarmJob',
'services' => [
'ParserOutputAccess',
'PageStore',
@@ -2190,7 +2190,7 @@ return [
],
'JobTypeConf' => [
'default' => [
- 'class' => 'JobQueueDB',
+ 'class' => 'MediaWiki\\JobQueue\\JobQueueDB',
'order' => 'random',
'claimTTL' => 3600,
],
diff --git a/includes/deferred/CdnCacheUpdate.php b/includes/deferred/CdnCacheUpdate.php
index 8c788ea248b4..eb9e9abee32d 100644
--- a/includes/deferred/CdnCacheUpdate.php
+++ b/includes/deferred/CdnCacheUpdate.php
@@ -20,9 +20,9 @@
namespace MediaWiki\Deferred;
-use CdnPurgeJob;
use Exception;
use InvalidArgumentException;
+use MediaWiki\JobQueue\Jobs\CdnPurgeJob;
use MediaWiki\MainConfigNames;
use MediaWiki\MediaWikiServices;
use MediaWiki\Page\PageReference;
diff --git a/includes/deferred/EnqueueableDataUpdate.php b/includes/deferred/EnqueueableDataUpdate.php
index 81d24c43c56d..d60ce1b09f29 100644
--- a/includes/deferred/EnqueueableDataUpdate.php
+++ b/includes/deferred/EnqueueableDataUpdate.php
@@ -15,7 +15,7 @@ namespace MediaWiki\Deferred;
interface EnqueueableDataUpdate {
/**
* @return array (domain => DB domain ID, job => IJobSpecification)
- * @phan-return array{domain: string, job: \IJobSpecification}
+ * @phan-return array{domain: string, job: \MediaWiki\JobQueue\IJobSpecification}
*/
public function getAsJobSpecification();
}
diff --git a/includes/deferred/JobQueueEnqueueUpdate.php b/includes/deferred/JobQueueEnqueueUpdate.php
index 9ace913d3601..a4d1319cd27a 100644
--- a/includes/deferred/JobQueueEnqueueUpdate.php
+++ b/includes/deferred/JobQueueEnqueueUpdate.php
@@ -22,7 +22,7 @@
namespace MediaWiki\Deferred;
-use IJobSpecification;
+use MediaWiki\JobQueue\IJobSpecification;
use MediaWiki\JobQueue\JobQueueGroupFactory;
use MediaWiki\MediaWikiServices;
use MWExceptionHandler;
diff --git a/includes/deferred/LinksUpdate/CategoryLinksTable.php b/includes/deferred/LinksUpdate/CategoryLinksTable.php
index 351d25a351df..3a06391e824c 100644
--- a/includes/deferred/LinksUpdate/CategoryLinksTable.php
+++ b/includes/deferred/LinksUpdate/CategoryLinksTable.php
@@ -6,6 +6,7 @@ use Collation;
use MediaWiki\Config\Config;
use MediaWiki\Config\ServiceOptions;
use MediaWiki\DAO\WikiAwareEntity;
+use MediaWiki\JobQueue\Utils\PurgeJobUtils;
use MediaWiki\Language\ILanguageConverter;
use MediaWiki\Languages\LanguageConverterFactory;
use MediaWiki\Logger\LoggerFactory;
@@ -17,7 +18,6 @@ use MediaWiki\Parser\Sanitizer;
use MediaWiki\Storage\NameTableStore;
use MediaWiki\Title\NamespaceInfo;
use MediaWiki\Title\Title;
-use PurgeJobUtils;
use Wikimedia\ObjectCache\WANObjectCache;
use Wikimedia\Rdbms\ILoadBalancer;
use Wikimedia\Rdbms\IResultWrapper;
diff --git a/includes/deferred/LinksUpdate/ImageLinksTable.php b/includes/deferred/LinksUpdate/ImageLinksTable.php
index db41d2f05470..6eebf40e63f0 100644
--- a/includes/deferred/LinksUpdate/ImageLinksTable.php
+++ b/includes/deferred/LinksUpdate/ImageLinksTable.php
@@ -3,11 +3,11 @@
namespace MediaWiki\Deferred\LinksUpdate;
use MediaWiki\DAO\WikiAwareEntity;
+use MediaWiki\JobQueue\Utils\PurgeJobUtils;
use MediaWiki\Page\PageReferenceValue;
use MediaWiki\Parser\ParserOutput;
use MediaWiki\Parser\ParserOutputLinkTypes;
use MediaWiki\Title\Title;
-use PurgeJobUtils;
/**
* imagelinks
diff --git a/includes/deferred/LinksUpdate/LinksDeletionUpdate.php b/includes/deferred/LinksUpdate/LinksDeletionUpdate.php
index 965c5a1696b0..0383ab8574b7 100644
--- a/includes/deferred/LinksUpdate/LinksDeletionUpdate.php
+++ b/includes/deferred/LinksUpdate/LinksDeletionUpdate.php
@@ -23,10 +23,10 @@
namespace MediaWiki\Deferred\LinksUpdate;
use InvalidArgumentException;
-use JobSpecification;
use MediaWiki\Category\Category;
use MediaWiki\Deferred\DeferredUpdates;
use MediaWiki\Deferred\EnqueueableDataUpdate;
+use MediaWiki\JobQueue\JobSpecification;
use MediaWiki\MainConfigNames;
use MediaWiki\MediaWikiServices;
use MediaWiki\Page\PageIdentity;
diff --git a/includes/deferred/LinksUpdate/LinksUpdate.php b/includes/deferred/LinksUpdate/LinksUpdate.php
index 6e570d573316..3aed63046b69 100644
--- a/includes/deferred/LinksUpdate/LinksUpdate.php
+++ b/includes/deferred/LinksUpdate/LinksUpdate.php
@@ -23,12 +23,13 @@
namespace MediaWiki\Deferred\LinksUpdate;
use InvalidArgumentException;
-use Job;
use MediaWiki\Cache\BacklinkCache;
use MediaWiki\Deferred\AutoCommitUpdate;
use MediaWiki\Deferred\DataUpdate;
use MediaWiki\Deferred\DeferredUpdates;
use MediaWiki\HookContainer\ProtectedHookAccessorTrait;
+use MediaWiki\JobQueue\Job;
+use MediaWiki\JobQueue\Jobs\RefreshLinksJob;
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\MainConfigNames;
use MediaWiki\MediaWikiServices;
@@ -39,7 +40,6 @@ use MediaWiki\Parser\ParserOutput;
use MediaWiki\Revision\RevisionRecord;
use MediaWiki\Title\Title;
use MediaWiki\User\UserIdentity;
-use RefreshLinksJob;
use RuntimeException;
use Wikimedia\Rdbms\IConnectionProvider;
use Wikimedia\Rdbms\IDatabase;
diff --git a/includes/deferred/LinksUpdate/PagePropsTable.php b/includes/deferred/LinksUpdate/PagePropsTable.php
index 193e0859cf25..a7faed3addba 100644
--- a/includes/deferred/LinksUpdate/PagePropsTable.php
+++ b/includes/deferred/LinksUpdate/PagePropsTable.php
@@ -3,8 +3,8 @@
namespace MediaWiki\Deferred\LinksUpdate;
use HTMLCacheUpdateJob;
-use JobQueueGroup;
use MediaWiki\Config\ServiceOptions;
+use MediaWiki\JobQueue\JobQueueGroup;
use MediaWiki\MainConfigNames;
use MediaWiki\Parser\ParserOutput;
diff --git a/includes/deferred/RefreshSecondaryDataUpdate.php b/includes/deferred/RefreshSecondaryDataUpdate.php
index e0e68ff31683..00a017d35499 100644
--- a/includes/deferred/RefreshSecondaryDataUpdate.php
+++ b/includes/deferred/RefreshSecondaryDataUpdate.php
@@ -23,8 +23,8 @@
namespace MediaWiki\Deferred;
use Exception;
-use JobSpecification;
use MediaWiki\Deferred\LinksUpdate\LinksUpdate;
+use MediaWiki\JobQueue\JobSpecification;
use MediaWiki\Page\PageIdentity;
use MediaWiki\Revision\RevisionRecord;
use MediaWiki\Storage\DerivedPageDataUpdater;
diff --git a/includes/filerepo/file/LocalFile.php b/includes/filerepo/file/LocalFile.php
index 2814e526a5e3..d5917fdc88c9 100644
--- a/includes/filerepo/file/LocalFile.php
+++ b/includes/filerepo/file/LocalFile.php
@@ -33,6 +33,7 @@ use MediaWiki\Deferred\SiteStatsUpdate;
use MediaWiki\FileRepo\FileBackendDBRepoWrapper;
use MediaWiki\FileRepo\FileRepo;
use MediaWiki\FileRepo\LocalRepo;
+use MediaWiki\JobQueue\Jobs\ThumbnailRenderJob;
use MediaWiki\Language\Language;
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\Logging\LogEntryBase;
@@ -52,7 +53,6 @@ use MediaWiki\User\UserIdentityValue;
use MWFileProps;
use RuntimeException;
use stdClass;
-use ThumbnailRenderJob;
use UnexpectedValueException;
use Wikimedia\FileBackend\FileBackend;
use Wikimedia\FileBackend\FileBackendError;
diff --git a/includes/jobqueue/GenericParameterJob.php b/includes/jobqueue/GenericParameterJob.php
index 2763e61ccff0..b5d26502299a 100644
--- a/includes/jobqueue/GenericParameterJob.php
+++ b/includes/jobqueue/GenericParameterJob.php
@@ -18,6 +18,8 @@
* @file
*/
+namespace MediaWiki\JobQueue;
+
/**
* Interface for generic jobs only uses the parameters field and are JSON serializable.
* Jobs using this interface require `needsPage: false` to be set
@@ -33,3 +35,6 @@ interface GenericParameterJob extends IJobSpecification {
*/
public function __construct( array $params );
}
+
+/** @deprecated class alias since 1.44 */
+class_alias( GenericParameterJob::class, 'GenericParameterJob' );
diff --git a/includes/jobqueue/IJobSpecification.php b/includes/jobqueue/IJobSpecification.php
index ca606843e112..0e8792fc8a02 100644
--- a/includes/jobqueue/IJobSpecification.php
+++ b/includes/jobqueue/IJobSpecification.php
@@ -18,6 +18,8 @@
* @file
*/
+namespace MediaWiki\JobQueue;
+
/**
* Interface for serializable objects that describe a job queue task
*
@@ -88,3 +90,6 @@ interface IJobSpecification {
*/
public function isRootJob();
}
+
+/** @deprecated class alias since 1.44 */
+class_alias( IJobSpecification::class, 'IJobSpecification' );
diff --git a/includes/jobqueue/Job.php b/includes/jobqueue/Job.php
index 2d0aad8f9dd5..3a9d828a6b76 100644
--- a/includes/jobqueue/Job.php
+++ b/includes/jobqueue/Job.php
@@ -18,6 +18,9 @@
* @file
*/
+namespace MediaWiki\JobQueue;
+
+use InvalidArgumentException;
use MediaWiki\Http\Telemetry;
use MediaWiki\Json\FormatJson;
use MediaWiki\MediaWikiServices;
@@ -440,3 +443,6 @@ abstract class Job implements RunnableJob {
return $this->error;
}
}
+
+/** @deprecated class alias since 1.44 */
+class_alias( Job::class, 'Job' );
diff --git a/includes/jobqueue/JobFactory.php b/includes/jobqueue/JobFactory.php
index e90f28d27490..9471fdcb6b25 100644
--- a/includes/jobqueue/JobFactory.php
+++ b/includes/jobqueue/JobFactory.php
@@ -3,9 +3,7 @@
namespace MediaWiki\JobQueue;
use Closure;
-use GenericParameterJob;
use InvalidArgumentException;
-use Job;
use MediaWiki\Page\PageReference;
use MediaWiki\Title\Title;
use Wikimedia\ObjectFactory\ObjectFactory;
diff --git a/includes/jobqueue/JobQueue.php b/includes/jobqueue/JobQueue.php
index 3f128851250a..dcd07c1796ec 100644
--- a/includes/jobqueue/JobQueue.php
+++ b/includes/jobqueue/JobQueue.php
@@ -18,8 +18,14 @@
* @file
*/
+namespace MediaWiki\JobQueue;
+
+use ArrayIterator;
+use Exception;
use Liuggio\StatsdClient\Factory\StatsdDataFactoryInterface;
-use MediaWiki\JobQueue\JobFactory;
+use MediaWiki\JobQueue\Exceptions\JobQueueError;
+use MediaWiki\JobQueue\Exceptions\JobQueueReadOnlyError;
+use MediaWiki\JobQueue\Jobs\DuplicateJob;
use MediaWiki\MediaWikiServices;
use Wikimedia\ObjectCache\WANObjectCache;
use Wikimedia\RequestTimeout\TimeoutException;
@@ -634,7 +640,7 @@ abstract class JobQueue {
* This does not include jobs that are currently acquired or delayed.
* Note: results may be stale if the queue is concurrently modified.
*
- * @return Iterator<RunnableJob>
+ * @return \Iterator<RunnableJob>
* @throws JobQueueError
*/
abstract public function getAllQueuedJobs();
@@ -644,7 +650,7 @@ abstract class JobQueue {
* Note: results may be stale if the queue is concurrently modified.
*
* @stable to override
- * @return Iterator<RunnableJob>
+ * @return \Iterator<RunnableJob>
* @throws JobQueueError
* @since 1.22
*/
@@ -659,7 +665,7 @@ abstract class JobQueue {
* will be returned due to jobs being acknowledged and deleted
*
* @stable to override
- * @return Iterator<RunnableJob>
+ * @return \Iterator<RunnableJob>
* @throws JobQueueError
* @since 1.26
*/
@@ -671,7 +677,7 @@ abstract class JobQueue {
* Get an iterator to traverse over all abandoned jobs in this queue
*
* @stable to override
- * @return Iterator<RunnableJob>
+ * @return \Iterator<RunnableJob>
* @throws JobQueueError
* @since 1.25
*/
@@ -791,3 +797,6 @@ abstract class JobQueue {
return false;
}
}
+
+/** @deprecated class alias since 1.44 */
+class_alias( JobQueue::class, 'JobQueue' );
diff --git a/includes/jobqueue/JobQueueDB.php b/includes/jobqueue/JobQueueDB.php
index dba6dbe648c0..ab423684f4f7 100644
--- a/includes/jobqueue/JobQueueDB.php
+++ b/includes/jobqueue/JobQueueDB.php
@@ -17,7 +17,16 @@
*
* @file
*/
+
+namespace MediaWiki\JobQueue;
+
+use MappedIterator;
+use MediaWiki\JobQueue\Exceptions\JobQueueConnectionError;
+use MediaWiki\JobQueue\Exceptions\JobQueueError;
use MediaWiki\MediaWikiServices;
+use Profiler;
+use stdClass;
+use UnexpectedValueException;
use Wikimedia\Rdbms\DBConnectionError;
use Wikimedia\Rdbms\DBError;
use Wikimedia\Rdbms\IDatabase;
@@ -206,7 +215,7 @@ class JobQueueDB extends JobQueue {
* @see JobQueue::doBatchPush()
* @param IJobSpecification[] $jobs
* @param int $flags
- * @throws DBError|Exception
+ * @throws DBError|\Exception
* @return void
*/
protected function doBatchPush( array $jobs, $flags ) {
@@ -595,7 +604,7 @@ class JobQueueDB extends JobQueue {
/**
* @see JobQueue::getAllQueuedJobs()
- * @return Iterator<RunnableJob>
+ * @return \Iterator<RunnableJob>
*/
public function getAllQueuedJobs() {
return $this->getJobIterator( [ 'job_cmd' => $this->getType(), 'job_token' => '' ] );
@@ -603,7 +612,7 @@ class JobQueueDB extends JobQueue {
/**
* @see JobQueue::getAllAcquiredJobs()
- * @return Iterator<RunnableJob>
+ * @return \Iterator<RunnableJob>
*/
public function getAllAcquiredJobs() {
$dbr = $this->getReplicaDB();
@@ -612,7 +621,7 @@ class JobQueueDB extends JobQueue {
/**
* @see JobQueue::getAllAbandonedJobs()
- * @return Iterator<RunnableJob>
+ * @return \Iterator<RunnableJob>
*/
public function getAllAbandonedJobs() {
$dbr = $this->getReplicaDB();
@@ -625,7 +634,7 @@ class JobQueueDB extends JobQueue {
/**
* @param array $conds Query conditions
- * @return Iterator<RunnableJob>
+ * @return \Iterator<RunnableJob>
*/
protected function getJobIterator( array $conds ) {
$dbr = $this->getReplicaDB();
@@ -809,7 +818,7 @@ class JobQueueDB extends JobQueue {
'job_params' => self::makeBlob( $job->getParams() ),
// Additional job metadata
'job_timestamp' => $db->timestamp(),
- 'job_sha1' => Wikimedia\base_convert(
+ 'job_sha1' => \Wikimedia\base_convert(
sha1( serialize( $job->getDeduplicationInfo() ) ),
16, 36, 31
),
@@ -960,3 +969,6 @@ class JobQueueDB extends JobQueue {
];
}
}
+
+/** @deprecated class alias since 1.44 */
+class_alias( JobQueueDB::class, 'JobQueueDB' );
diff --git a/includes/jobqueue/JobQueueFederated.php b/includes/jobqueue/JobQueueFederated.php
index bac2847568ad..97f1c2254d53 100644
--- a/includes/jobqueue/JobQueueFederated.php
+++ b/includes/jobqueue/JobQueueFederated.php
@@ -18,6 +18,16 @@
* @file
*/
+namespace MediaWiki\JobQueue;
+
+use AppendIterator;
+use ArrayUtils;
+use Exception;
+use HashRing;
+use InvalidArgumentException;
+use MediaWiki\JobQueue\Exceptions\JobQueueError;
+use UnexpectedValueException;
+
/**
* Enqueue and run background jobs via a federated queue, for wiki farms.
*
@@ -485,3 +495,6 @@ class JobQueueFederated extends JobQueue {
}
}
}
+
+/** @deprecated class alias since 1.44 */
+class_alias( JobQueueFederated::class, 'JobQueueFederated' );
diff --git a/includes/jobqueue/JobQueueGroup.php b/includes/jobqueue/JobQueueGroup.php
index 193294b999e6..e222b8c0fefe 100644
--- a/includes/jobqueue/JobQueueGroup.php
+++ b/includes/jobqueue/JobQueueGroup.php
@@ -18,8 +18,13 @@
* @file
*/
+namespace MediaWiki\JobQueue;
+
+use InvalidArgumentException;
+use MapCacheLRU;
use MediaWiki\Deferred\DeferredUpdates;
use MediaWiki\Deferred\JobQueueEnqueueUpdate;
+use MediaWiki\JobQueue\Exceptions\JobQueueError;
use MediaWiki\MediaWikiServices;
use Wikimedia\ObjectCache\WANObjectCache;
use Wikimedia\Rdbms\ReadOnlyMode;
@@ -448,3 +453,6 @@ class JobQueueGroup {
}
}
}
+
+/** @deprecated class alias since 1.44 */
+class_alias( JobQueueGroup::class, 'JobQueueGroup' );
diff --git a/includes/jobqueue/JobQueueGroupFactory.php b/includes/jobqueue/JobQueueGroupFactory.php
index 42eed837ebc5..7de6f909edab 100644
--- a/includes/jobqueue/JobQueueGroupFactory.php
+++ b/includes/jobqueue/JobQueueGroupFactory.php
@@ -20,7 +20,6 @@
namespace MediaWiki\JobQueue;
-use JobQueueGroup;
use LogicException;
use MediaWiki\Config\ServiceOptions;
use MediaWiki\MainConfigNames;
diff --git a/includes/jobqueue/JobQueueMemory.php b/includes/jobqueue/JobQueueMemory.php
index 87df4b410b3d..0da95735eeb8 100644
--- a/includes/jobqueue/JobQueueMemory.php
+++ b/includes/jobqueue/JobQueueMemory.php
@@ -18,6 +18,10 @@
* @file
*/
+namespace MediaWiki\JobQueue;
+
+use ArrayIterator;
+use MappedIterator;
use Wikimedia\ObjectCache\HashBagOStuff;
use Wikimedia\ObjectCache\WANObjectCache;
@@ -168,7 +172,7 @@ class JobQueueMemory extends JobQueue {
/**
* @see JobQueue::getAllQueuedJobs
*
- * @return Iterator<RunnableJob> of Job objects.
+ * @return \Iterator<RunnableJob> of Job objects.
*/
public function getAllQueuedJobs() {
$unclaimed = $this->getQueueData( 'unclaimed' );
@@ -187,7 +191,7 @@ class JobQueueMemory extends JobQueue {
/**
* @see JobQueue::getAllAcquiredJobs
*
- * @return Iterator<RunnableJob> of Job objects.
+ * @return \Iterator<RunnableJob> of Job objects.
*/
public function getAllAcquiredJobs() {
$claimed = $this->getQueueData( 'claimed' );
@@ -229,3 +233,6 @@ class JobQueueMemory extends JobQueue {
return self::$data[$this->type][$this->domain][$field];
}
}
+
+/** @deprecated class alias since 1.44 */
+class_alias( JobQueueMemory::class, 'JobQueueMemory' );
diff --git a/includes/jobqueue/JobQueueRedis.php b/includes/jobqueue/JobQueueRedis.php
index 85f8f3c5b787..566bda1a5efe 100644
--- a/includes/jobqueue/JobQueueRedis.php
+++ b/includes/jobqueue/JobQueueRedis.php
@@ -18,9 +18,19 @@
* @file
*/
+namespace MediaWiki\JobQueue;
+
+use InvalidArgumentException;
+use LogicException;
+use MappedIterator;
+use MediaWiki\JobQueue\Exceptions\JobQueueConnectionError;
+use MediaWiki\JobQueue\Exceptions\JobQueueError;
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\WikiMap\WikiMap;
use Psr\Log\LoggerInterface;
+use Redis;
+use RedisException;
+use UnexpectedValueException;
use Wikimedia\ObjectCache\RedisConnectionPool;
use Wikimedia\ObjectCache\RedisConnRef;
@@ -517,7 +527,7 @@ LUA;
/**
* @see JobQueue::getAllQueuedJobs()
- * @return Iterator<RunnableJob>
+ * @return \Iterator<RunnableJob>
* @throws JobQueueError
*/
public function getAllQueuedJobs() {
@@ -533,7 +543,7 @@ LUA;
/**
* @see JobQueue::getAllDelayedJobs()
- * @return Iterator<RunnableJob>
+ * @return \Iterator<RunnableJob>
* @throws JobQueueError
*/
public function getAllDelayedJobs() {
@@ -549,7 +559,7 @@ LUA;
/**
* @see JobQueue::getAllAcquiredJobs()
- * @return Iterator<RunnableJob>
+ * @return \Iterator<RunnableJob>
* @throws JobQueueError
*/
public function getAllAcquiredJobs() {
@@ -565,7 +575,7 @@ LUA;
/**
* @see JobQueue::getAllAbandonedJobs()
- * @return Iterator<RunnableJob>
+ * @return \Iterator<RunnableJob>
* @throws JobQueueError
*/
public function getAllAbandonedJobs() {
@@ -698,7 +708,7 @@ LUA;
// Additional job metadata
'uuid' => $this->idGenerator->newRawUUIDv4(),
'sha1' => $job->ignoreDuplicates()
- ? Wikimedia\base_convert( sha1( serialize( $job->getDeduplicationInfo() ) ), 16, 36, 31 )
+ ? \Wikimedia\base_convert( sha1( serialize( $job->getDeduplicationInfo() ) ), 16, 36, 31 )
: '',
'timestamp' => time() // UNIX timestamp
];
@@ -828,3 +838,6 @@ LUA;
return implode( ':', array_map( 'rawurlencode', $parts ) );
}
}
+
+/** @deprecated class alias since 1.44 */
+class_alias( JobQueueRedis::class, 'JobQueueRedis' );
diff --git a/includes/jobqueue/JobRunner.php b/includes/jobqueue/JobRunner.php
index 1f3162f06979..a0dac4e3ad4f 100644
--- a/includes/jobqueue/JobRunner.php
+++ b/includes/jobqueue/JobRunner.php
@@ -18,13 +18,20 @@
* @file
*/
+namespace MediaWiki\JobQueue;
+
use Liuggio\StatsdClient\Factory\StatsdDataFactoryInterface;
+use LogicException;
use MediaWiki\Cache\LinkCache;
use MediaWiki\Config\ServiceOptions;
use MediaWiki\Deferred\DeferredUpdates;
use MediaWiki\Http\Telemetry;
+use MediaWiki\JobQueue\Exceptions\JobQueueError;
+use MediaWiki\JobQueue\Jobs\DuplicateJob;
use MediaWiki\MainConfigNames;
+use MWExceptionHandler;
use Psr\Log\LoggerInterface;
+use Throwable;
use Wikimedia\Rdbms\DBConnectionError;
use Wikimedia\Rdbms\DBReadOnlyError;
use Wikimedia\Rdbms\ILBFactory;
@@ -613,3 +620,6 @@ class JobRunner {
}
}
}
+
+/** @deprecated class alias since 1.44 */
+class_alias( JobRunner::class, 'JobRunner' );
diff --git a/includes/jobqueue/JobSpecification.php b/includes/jobqueue/JobSpecification.php
index 843f06963c9d..56b175b9c538 100644
--- a/includes/jobqueue/JobSpecification.php
+++ b/includes/jobqueue/JobSpecification.php
@@ -18,9 +18,12 @@
* @file
*/
+namespace MediaWiki\JobQueue;
+
use MediaWiki\Http\Telemetry;
use MediaWiki\Page\PageReference;
use MediaWiki\Page\PageReferenceValue;
+use UnexpectedValueException;
/**
* Job queue task description base code.
@@ -187,3 +190,6 @@ class JobSpecification implements IJobSpecification {
);
}
}
+
+/** @deprecated class alias since 1.44 */
+class_alias( JobSpecification::class, 'JobSpecification' );
diff --git a/includes/jobqueue/RunnableJob.php b/includes/jobqueue/RunnableJob.php
index e664e5f45133..9b910494d521 100644
--- a/includes/jobqueue/RunnableJob.php
+++ b/includes/jobqueue/RunnableJob.php
@@ -18,6 +18,8 @@
* @file
*/
+namespace MediaWiki\JobQueue;
+
/**
* Job that has a run() method and metadata accessors for JobQueue::pop() and JobQueue::ack().
*
@@ -121,3 +123,6 @@ interface RunnableJob extends IJobSpecification {
*/
public function toString();
}
+
+/** @deprecated class alias since 1.44 */
+class_alias( RunnableJob::class, 'RunnableJob' );
diff --git a/includes/jobqueue/exception/JobQueueConnectionError.php b/includes/jobqueue/exception/JobQueueConnectionError.php
index e28f15329cdb..b46c2121a1f6 100644
--- a/includes/jobqueue/exception/JobQueueConnectionError.php
+++ b/includes/jobqueue/exception/JobQueueConnectionError.php
@@ -18,6 +18,8 @@
* @file
*/
+namespace MediaWiki\JobQueue\Exceptions;
+
/**
* @newable
* @since 1.22
@@ -25,3 +27,6 @@
*/
class JobQueueConnectionError extends JobQueueError {
}
+
+/** @deprecated class alias since 1.44 */
+class_alias( JobQueueConnectionError::class, 'JobQueueConnectionError' );
diff --git a/includes/jobqueue/exception/JobQueueError.php b/includes/jobqueue/exception/JobQueueError.php
index 86696362936e..aadc62446810 100644
--- a/includes/jobqueue/exception/JobQueueError.php
+++ b/includes/jobqueue/exception/JobQueueError.php
@@ -18,6 +18,10 @@
* @file
*/
+namespace MediaWiki\JobQueue\Exceptions;
+
+use Exception;
+
/**
* @newable
* @since 1.22
@@ -25,3 +29,6 @@
*/
class JobQueueError extends Exception {
}
+
+/** @deprecated class alias since 1.44 */
+class_alias( JobQueueError::class, 'JobQueueError' );
diff --git a/includes/jobqueue/exception/JobQueueReadOnlyError.php b/includes/jobqueue/exception/JobQueueReadOnlyError.php
index c3af3e32fcd3..fcba67ef20c7 100644
--- a/includes/jobqueue/exception/JobQueueReadOnlyError.php
+++ b/includes/jobqueue/exception/JobQueueReadOnlyError.php
@@ -18,6 +18,8 @@
* @file
*/
+namespace MediaWiki\JobQueue\Exceptions;
+
/**
* @newable
* @since 1.22
@@ -26,3 +28,6 @@
class JobQueueReadOnlyError extends JobQueueError {
}
+
+/** @deprecated class alias since 1.44 */
+class_alias( JobQueueReadOnlyError::class, 'JobQueueReadOnlyError' );
diff --git a/includes/jobqueue/jobs/AssembleUploadChunksJob.php b/includes/jobqueue/jobs/AssembleUploadChunksJob.php
index 607bf58495ae..95460b6b7525 100644
--- a/includes/jobqueue/jobs/AssembleUploadChunksJob.php
+++ b/includes/jobqueue/jobs/AssembleUploadChunksJob.php
@@ -18,11 +18,20 @@
* @file
*/
+namespace MediaWiki\JobQueue\Jobs;
+
+use Exception;
use MediaWiki\Api\ApiUpload;
use MediaWiki\Context\RequestContext;
+use MediaWiki\JobQueue\GenericParameterJob;
+use MediaWiki\JobQueue\Job;
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\Request\WebRequestUpload;
use MediaWiki\Status\Status;
+use MWExceptionHandler;
+use UnexpectedValueException;
+use UploadBase;
+use UploadFromChunks;
use Wikimedia\ScopedCallback;
/**
@@ -203,3 +212,6 @@ class AssembleUploadChunksJob extends Job implements GenericParameterJob {
return false;
}
}
+
+/** @deprecated class alias since 1.44 */
+class_alias( AssembleUploadChunksJob::class, 'AssembleUploadChunksJob' );
diff --git a/includes/jobqueue/jobs/CategoryMembershipChangeJob.php b/includes/jobqueue/jobs/CategoryMembershipChangeJob.php
index 1d6d9642a95b..2e25cd883f83 100644
--- a/includes/jobqueue/jobs/CategoryMembershipChangeJob.php
+++ b/includes/jobqueue/jobs/CategoryMembershipChangeJob.php
@@ -18,10 +18,16 @@
* @file
*/
+namespace MediaWiki\JobQueue\Jobs;
+
+use MediaWiki\JobQueue\Job;
+use MediaWiki\JobQueue\JobSpecification;
use MediaWiki\MainConfigNames;
use MediaWiki\MediaWikiServices;
use MediaWiki\Page\PageIdentity;
use MediaWiki\Page\WikiPage;
+use MediaWiki\RecentChanges\CategoryMembershipChange;
+use MediaWiki\RecentChanges\RecentChange;
use MediaWiki\Revision\RevisionRecord;
use MediaWiki\Revision\RevisionStoreRecord;
use MediaWiki\Title\Title;
@@ -289,3 +295,6 @@ class CategoryMembershipChangeJob extends Job {
return $info;
}
}
+
+/** @deprecated class alias since 1.44 */
+class_alias( CategoryMembershipChangeJob::class, 'CategoryMembershipChangeJob' );
diff --git a/includes/jobqueue/jobs/CdnPurgeJob.php b/includes/jobqueue/jobs/CdnPurgeJob.php
index e897f5c0f897..b38f63aea5e3 100644
--- a/includes/jobqueue/jobs/CdnPurgeJob.php
+++ b/includes/jobqueue/jobs/CdnPurgeJob.php
@@ -18,7 +18,11 @@
* @file
*/
+namespace MediaWiki\JobQueue\Jobs;
+
use MediaWiki\Deferred\CdnCacheUpdate;
+use MediaWiki\JobQueue\GenericParameterJob;
+use MediaWiki\JobQueue\Job;
/**
* Job to purge a set of URLs from CDN
@@ -39,3 +43,6 @@ class CdnPurgeJob extends Job implements GenericParameterJob {
return true;
}
}
+
+/** @deprecated class alias since 1.44 */
+class_alias( CdnPurgeJob::class, 'CdnPurgeJob' );
diff --git a/includes/jobqueue/jobs/DeleteLinksJob.php b/includes/jobqueue/jobs/DeleteLinksJob.php
index 59677efad123..079c7ac0790f 100644
--- a/includes/jobqueue/jobs/DeleteLinksJob.php
+++ b/includes/jobqueue/jobs/DeleteLinksJob.php
@@ -18,8 +18,11 @@
* @file
*/
+namespace MediaWiki\JobQueue\Jobs;
+
use MediaWiki\Deferred\LinksUpdate\LinksDeletionUpdate;
use MediaWiki\Deferred\LinksUpdate\LinksUpdate;
+use MediaWiki\JobQueue\Job;
use MediaWiki\MediaWikiServices;
use MediaWiki\Title\Title;
use Wikimedia\Rdbms\IDBAccessObject;
@@ -72,3 +75,6 @@ class DeleteLinksJob extends Job {
return true;
}
}
+
+/** @deprecated class alias since 1.44 */
+class_alias( DeleteLinksJob::class, 'DeleteLinksJob' );
diff --git a/includes/jobqueue/jobs/DeletePageJob.php b/includes/jobqueue/jobs/DeletePageJob.php
index f4e1feaf172f..96929bf8060e 100644
--- a/includes/jobqueue/jobs/DeletePageJob.php
+++ b/includes/jobqueue/jobs/DeletePageJob.php
@@ -1,5 +1,9 @@
<?php
+namespace MediaWiki\JobQueue\Jobs;
+
+use MediaWiki\JobQueue\GenericParameterJob;
+use MediaWiki\JobQueue\Job;
use MediaWiki\MediaWikiServices;
use MediaWiki\Page\DeletePage;
use MediaWiki\Title\Title;
@@ -44,3 +48,6 @@ class DeletePageJob extends Job implements GenericParameterJob {
return true;
}
}
+
+/** @deprecated class alias since 1.44 */
+class_alias( DeletePageJob::class, 'DeletePageJob' );
diff --git a/includes/jobqueue/jobs/DoubleRedirectJob.php b/includes/jobqueue/jobs/DoubleRedirectJob.php
index dd37b892f9a2..d3fff9ea9926 100644
--- a/includes/jobqueue/jobs/DoubleRedirectJob.php
+++ b/includes/jobqueue/jobs/DoubleRedirectJob.php
@@ -18,7 +18,10 @@
* @file
*/
+namespace MediaWiki\JobQueue\Jobs;
+
use MediaWiki\Cache\CacheKeyHelper;
+use MediaWiki\JobQueue\Job;
use MediaWiki\Linker\LinkTarget;
use MediaWiki\MediaWikiServices;
use MediaWiki\Page\PageReference;
@@ -302,3 +305,6 @@ class DoubleRedirectJob extends Job {
return self::$user;
}
}
+
+/** @deprecated class alias since 1.44 */
+class_alias( DoubleRedirectJob::class, 'DoubleRedirectJob' );
diff --git a/includes/jobqueue/jobs/DuplicateJob.php b/includes/jobqueue/jobs/DuplicateJob.php
index 43fafbfb555f..81969bf4aff0 100644
--- a/includes/jobqueue/jobs/DuplicateJob.php
+++ b/includes/jobqueue/jobs/DuplicateJob.php
@@ -18,6 +18,12 @@
* @file
*/
+namespace MediaWiki\JobQueue\Jobs;
+
+use MediaWiki\JobQueue\GenericParameterJob;
+use MediaWiki\JobQueue\Job;
+use MediaWiki\JobQueue\RunnableJob;
+
/**
* No-op job that does nothing.
*
@@ -56,3 +62,6 @@ final class DuplicateJob extends Job implements GenericParameterJob {
return true;
}
}
+
+/** @deprecated class alias since 1.44 */
+class_alias( DuplicateJob::class, 'DuplicateJob' );
diff --git a/includes/jobqueue/jobs/HTMLCacheUpdateJob.php b/includes/jobqueue/jobs/HTMLCacheUpdateJob.php
index 632f086eaafc..fc385382a0a2 100644
--- a/includes/jobqueue/jobs/HTMLCacheUpdateJob.php
+++ b/includes/jobqueue/jobs/HTMLCacheUpdateJob.php
@@ -18,6 +18,10 @@
* @file
*/
+namespace MediaWiki\JobQueue\Jobs;
+
+use MediaWiki\JobQueue\Job;
+use MediaWiki\JobQueue\Utils\BacklinkJobUtils;
use MediaWiki\MainConfigNames;
use MediaWiki\MediaWikiServices;
use MediaWiki\Page\PageReference;
@@ -201,3 +205,6 @@ class HTMLCacheUpdateJob extends Job {
return 1; // one title
}
}
+
+/** @deprecated class alias since 1.44 */
+class_alias( HTMLCacheUpdateJob::class, 'HTMLCacheUpdateJob' );
diff --git a/includes/jobqueue/jobs/NullJob.php b/includes/jobqueue/jobs/NullJob.php
index 6cf8212b8d54..def387c53ce9 100644
--- a/includes/jobqueue/jobs/NullJob.php
+++ b/includes/jobqueue/jobs/NullJob.php
@@ -18,6 +18,10 @@
* @file
*/
+namespace MediaWiki\JobQueue\Jobs;
+
+use MediaWiki\JobQueue\GenericParameterJob;
+use MediaWiki\JobQueue\Job;
use MediaWiki\MediaWikiServices;
/**
@@ -76,3 +80,6 @@ class NullJob extends Job implements GenericParameterJob {
return true;
}
}
+
+/** @deprecated class alias since 1.44 */
+class_alias( NullJob::class, 'NullJob' );
diff --git a/includes/jobqueue/jobs/ParsoidCachePrewarmJob.php b/includes/jobqueue/jobs/ParsoidCachePrewarmJob.php
index 3c79b351b360..4997ca92b525 100644
--- a/includes/jobqueue/jobs/ParsoidCachePrewarmJob.php
+++ b/includes/jobqueue/jobs/ParsoidCachePrewarmJob.php
@@ -18,6 +18,10 @@
* @file
*/
+namespace MediaWiki\JobQueue\Jobs;
+
+use MediaWiki\JobQueue\Job;
+use MediaWiki\JobQueue\JobSpecification;
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\Page\PageLookup;
use MediaWiki\Page\PageRecord;
@@ -164,3 +168,6 @@ class ParsoidCachePrewarmJob extends Job {
return true;
}
}
+
+/** @deprecated class alias since 1.44 */
+class_alias( ParsoidCachePrewarmJob::class, 'ParsoidCachePrewarmJob' );
diff --git a/includes/jobqueue/jobs/PublishStashedFileJob.php b/includes/jobqueue/jobs/PublishStashedFileJob.php
index 27ff97ef548a..21efe370b864 100644
--- a/includes/jobqueue/jobs/PublishStashedFileJob.php
+++ b/includes/jobqueue/jobs/PublishStashedFileJob.php
@@ -19,7 +19,13 @@
* @defgroup JobQueue JobQueue
*/
+namespace MediaWiki\JobQueue\Jobs;
+
+use MediaWiki\JobQueue\GenericParameterJob;
+use MediaWiki\JobQueue\Job;
use MediaWiki\Status\Status;
+use UploadBase;
+use UploadFromStash;
/**
* Upload a file from the upload stash into the local file repo.
@@ -79,3 +85,6 @@ class PublishStashedFileJob extends Job implements GenericParameterJob {
return $this->upload;
}
}
+
+/** @deprecated class alias since 1.44 */
+class_alias( PublishStashedFileJob::class, 'PublishStashedFileJob' );
diff --git a/includes/jobqueue/jobs/RefreshLinksJob.php b/includes/jobqueue/jobs/RefreshLinksJob.php
index aaea18432cea..b6647c55a290 100644
--- a/includes/jobqueue/jobs/RefreshLinksJob.php
+++ b/includes/jobqueue/jobs/RefreshLinksJob.php
@@ -18,8 +18,13 @@
* @file
*/
+namespace MediaWiki\JobQueue\Jobs;
+
+use MediaWiki\Actions\InfoAction;
use MediaWiki\Deferred\LinksUpdate\LinksUpdate;
use MediaWiki\Deferred\RefreshSecondaryDataUpdate;
+use MediaWiki\JobQueue\Job;
+use MediaWiki\JobQueue\Utils\BacklinkJobUtils;
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\MainConfigNames;
use MediaWiki\MediaWikiServices;
@@ -639,3 +644,6 @@ class RefreshLinksJob extends Job {
return 1; // one title
}
}
+
+/** @deprecated class alias since 1.44 */
+class_alias( RefreshLinksJob::class, 'RefreshLinksJob' );
diff --git a/includes/jobqueue/jobs/RevertedTagUpdateJob.php b/includes/jobqueue/jobs/RevertedTagUpdateJob.php
index 7c220a7302f5..ef1b9765bce8 100644
--- a/includes/jobqueue/jobs/RevertedTagUpdateJob.php
+++ b/includes/jobqueue/jobs/RevertedTagUpdateJob.php
@@ -18,7 +18,12 @@
* @file
*/
+namespace MediaWiki\JobQueue\Jobs;
+
use MediaWiki\Config\ServiceOptions;
+use MediaWiki\JobQueue\GenericParameterJob;
+use MediaWiki\JobQueue\Job;
+use MediaWiki\JobQueue\JobSpecification;
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\MediaWikiServices;
use MediaWiki\Storage\EditResult;
@@ -91,3 +96,6 @@ class RevertedTagUpdateJob extends Job implements GenericParameterJob {
return true;
}
}
+
+/** @deprecated class alias since 1.44 */
+class_alias( RevertedTagUpdateJob::class, 'RevertedTagUpdateJob' );
diff --git a/includes/jobqueue/jobs/ThumbnailRenderJob.php b/includes/jobqueue/jobs/ThumbnailRenderJob.php
index e0a23d3a0bdb..5fbdb3823bd6 100644
--- a/includes/jobqueue/jobs/ThumbnailRenderJob.php
+++ b/includes/jobqueue/jobs/ThumbnailRenderJob.php
@@ -18,6 +18,12 @@
* @file
*/
+namespace MediaWiki\JobQueue\Jobs;
+
+use MediaTransformError;
+use MediaWiki\FileRepo\File\File;
+use MediaWiki\FileRepo\File\LocalFile;
+use MediaWiki\JobQueue\Job;
use MediaWiki\MainConfigNames;
use MediaWiki\MediaWikiServices;
use MediaWiki\Status\Status;
@@ -178,3 +184,6 @@ class ThumbnailRenderJob extends Job {
return false;
}
}
+
+/** @deprecated class alias since 1.44 */
+class_alias( ThumbnailRenderJob::class, 'ThumbnailRenderJob' );
diff --git a/includes/jobqueue/jobs/UploadFromUrlJob.php b/includes/jobqueue/jobs/UploadFromUrlJob.php
index 648312294302..dfd6b4484c8b 100644
--- a/includes/jobqueue/jobs/UploadFromUrlJob.php
+++ b/includes/jobqueue/jobs/UploadFromUrlJob.php
@@ -18,7 +18,13 @@
* @file
*/
+namespace MediaWiki\JobQueue\Jobs;
+
+use MediaWiki\JobQueue\GenericParameterJob;
+use MediaWiki\JobQueue\Job;
use MediaWiki\Status\Status;
+use UploadBase;
+use UploadFromUrl;
/**
* Upload a file by URL, via the jobqueue.
@@ -80,3 +86,6 @@ class UploadFromUrlJob extends Job implements GenericParameterJob {
}
}
+
+/** @deprecated class alias since 1.44 */
+class_alias( UploadFromUrlJob::class, 'UploadFromUrlJob' );
diff --git a/includes/jobqueue/jobs/UploadJobTrait.php b/includes/jobqueue/jobs/UploadJobTrait.php
index 098c64cef3fb..1a734fb94b69 100644
--- a/includes/jobqueue/jobs/UploadJobTrait.php
+++ b/includes/jobqueue/jobs/UploadJobTrait.php
@@ -19,11 +19,16 @@
* @defgroup JobQueue JobQueue
*/
+namespace MediaWiki\JobQueue\Jobs;
+
+use Exception;
use MediaWiki\Api\ApiUpload;
use MediaWiki\Context\RequestContext;
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\Status\Status;
use MediaWiki\User\User;
+use MWExceptionHandler;
+use UploadBase;
use Wikimedia\ScopedCallback;
/**
@@ -311,3 +316,6 @@ trait UploadJobTrait {
abstract protected function addTeardownCallback( $callback );
}
+
+/** @deprecated class alias since 1.44 */
+class_alias( UploadJobTrait::class, 'UploadJobTrait' );
diff --git a/includes/jobqueue/utils/BacklinkJobUtils.php b/includes/jobqueue/utils/BacklinkJobUtils.php
index 7d56f76c494d..0846ca0138bf 100644
--- a/includes/jobqueue/utils/BacklinkJobUtils.php
+++ b/includes/jobqueue/utils/BacklinkJobUtils.php
@@ -18,6 +18,9 @@
* @file
*/
+namespace MediaWiki\JobQueue\Utils;
+
+use MediaWiki\JobQueue\Job;
use MediaWiki\MediaWikiServices;
use MediaWiki\Page\PageIdentity;
@@ -152,3 +155,6 @@ class BacklinkJobUtils {
return $jobs;
}
}
+
+/** @deprecated class alias since 1.44 */
+class_alias( BacklinkJobUtils::class, 'BacklinkJobUtils' );
diff --git a/includes/jobqueue/utils/PurgeJobUtils.php b/includes/jobqueue/utils/PurgeJobUtils.php
index b55d7362b8e3..44eb94423d9b 100644
--- a/includes/jobqueue/utils/PurgeJobUtils.php
+++ b/includes/jobqueue/utils/PurgeJobUtils.php
@@ -17,6 +17,9 @@
*
* @file
*/
+
+namespace MediaWiki\JobQueue\Utils;
+
use MediaWiki\Deferred\AutoCommitUpdate;
use MediaWiki\Deferred\DeferredUpdates;
use MediaWiki\MainConfigNames;
@@ -86,3 +89,6 @@ class PurgeJobUtils {
) );
}
}
+
+/** @deprecated class alias since 1.44 */
+class_alias( PurgeJobUtils::class, 'PurgeJobUtils' );
diff --git a/includes/page/Article.php b/includes/page/Article.php
index 4f5ac9ef2461..439939c27143 100644
--- a/includes/page/Article.php
+++ b/includes/page/Article.php
@@ -22,7 +22,6 @@ namespace MediaWiki\Page;
use HtmlArmor;
use HTMLFileCache;
-use JobQueueGroup;
use LogicException;
use MediaWiki\Block\DatabaseBlock;
use MediaWiki\Block\DatabaseBlockStore;
@@ -33,6 +32,8 @@ use MediaWiki\EditPage\EditPage;
use MediaWiki\HookContainer\HookRunner;
use MediaWiki\HookContainer\ProtectedHookAccessorTrait;
use MediaWiki\Html\Html;
+use MediaWiki\JobQueue\JobQueueGroup;
+use MediaWiki\JobQueue\Jobs\ParsoidCachePrewarmJob;
use MediaWiki\Language\Language;
use MediaWiki\Linker\Linker;
use MediaWiki\Linker\LinkRenderer;
@@ -59,7 +60,6 @@ use MediaWiki\User\Options\UserOptionsLookup;
use MediaWiki\User\UserIdentity;
use MediaWiki\User\UserNameUtils;
use MediaWiki\Xml\Xml;
-use ParsoidCachePrewarmJob;
use PermissionsError;
use Wikimedia\IPUtils;
use Wikimedia\NonSerializable\NonSerializableTrait;
diff --git a/includes/page/DeletePage.php b/includes/page/DeletePage.php
index 0552e68eff23..d3c792f16be5 100644
--- a/includes/page/DeletePage.php
+++ b/includes/page/DeletePage.php
@@ -4,9 +4,7 @@ namespace MediaWiki\Page;
use BadMethodCallException;
use ChangeTags;
-use DeletePageJob;
use Exception;
-use JobQueueGroup;
use LogicException;
use MediaWiki\Cache\BacklinkCacheFactory;
use MediaWiki\CommentStore\CommentStore;
@@ -20,6 +18,8 @@ use MediaWiki\Deferred\SiteStatsUpdate;
use MediaWiki\DomainEvent\DomainEventDispatcher;
use MediaWiki\HookContainer\HookContainer;
use MediaWiki\HookContainer\HookRunner;
+use MediaWiki\JobQueue\JobQueueGroup;
+use MediaWiki\JobQueue\Jobs\DeletePageJob;
use MediaWiki\Language\RawMessage;
use MediaWiki\Logging\ManualLogEntry;
use MediaWiki\MainConfigNames;
diff --git a/includes/page/PageCommandFactory.php b/includes/page/PageCommandFactory.php
index b432cf91fc25..662fd93681b1 100644
--- a/includes/page/PageCommandFactory.php
+++ b/includes/page/PageCommandFactory.php
@@ -21,7 +21,6 @@
namespace MediaWiki\Page;
-use JobQueueGroup;
use MediaWiki\Cache\BacklinkCacheFactory;
use MediaWiki\Collation\CollationFactory;
use MediaWiki\CommentStore\CommentStore;
@@ -33,6 +32,7 @@ use MediaWiki\DomainEvent\DomainEventDispatcher;
use MediaWiki\EditPage\SpamChecker;
use MediaWiki\FileRepo\RepoGroup;
use MediaWiki\HookContainer\HookContainer;
+use MediaWiki\JobQueue\JobQueueGroup;
use MediaWiki\Linker\LinkTargetLookup;
use MediaWiki\Logging\LogFormatterFactory;
use MediaWiki\Permissions\Authority;
diff --git a/includes/page/UndeletePage.php b/includes/page/UndeletePage.php
index 90118f23d391..c863ed7e0d70 100644
--- a/includes/page/UndeletePage.php
+++ b/includes/page/UndeletePage.php
@@ -22,13 +22,13 @@ namespace MediaWiki\Page;
use ChangeTags;
use HTMLCacheUpdateJob;
-use JobQueueGroup;
use MediaWiki\Content\IContentHandlerFactory;
use MediaWiki\Content\ValidationParams;
use MediaWiki\FileRepo\File\LocalFile;
use MediaWiki\FileRepo\RepoGroup;
use MediaWiki\HookContainer\HookContainer;
use MediaWiki\HookContainer\HookRunner;
+use MediaWiki\JobQueue\JobQueueGroup;
use MediaWiki\Logging\ManualLogEntry;
use MediaWiki\Page\Event\PageRevisionUpdatedEvent;
use MediaWiki\Permissions\Authority;
diff --git a/includes/page/WikiPage.php b/includes/page/WikiPage.php
index e3ea053673a3..8c4de8bc6bbc 100644
--- a/includes/page/WikiPage.php
+++ b/includes/page/WikiPage.php
@@ -33,6 +33,7 @@ use MediaWiki\DAO\WikiAwareEntityTrait;
use MediaWiki\Deferred\DeferredUpdates;
use MediaWiki\Edit\PreparedEdit;
use MediaWiki\HookContainer\ProtectedHookAccessorTrait;
+use MediaWiki\JobQueue\Jobs\RefreshLinksJob;
use MediaWiki\Linker\LinkTarget;
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\Logging\ManualLogEntry;
@@ -62,7 +63,6 @@ use MediaWiki\User\UserArrayFromResult;
use MediaWiki\User\UserIdentity;
use MediaWiki\Utils\MWTimestamp;
use MediaWiki\WikiMap\WikiMap;
-use RefreshLinksJob;
use RuntimeException;
use stdClass;
use Stringable;
diff --git a/includes/recentchanges/ChangeTrackingEventIngress.php b/includes/recentchanges/ChangeTrackingEventIngress.php
index 65c4e350c8ac..f4efe4136820 100644
--- a/includes/recentchanges/ChangeTrackingEventIngress.php
+++ b/includes/recentchanges/ChangeTrackingEventIngress.php
@@ -2,13 +2,14 @@
namespace MediaWiki\RecentChanges;
-use JobQueueGroup;
use LogicException;
use MediaWiki\ChangeTags\ChangeTagsStore;
use MediaWiki\Config\Config;
use MediaWiki\DomainEvent\EventIngressBase;
use MediaWiki\HookContainer\HookContainer;
use MediaWiki\HookContainer\HookRunner;
+use MediaWiki\JobQueue\JobQueueGroup;
+use MediaWiki\JobQueue\Jobs\RevertedTagUpdateJob;
use MediaWiki\MainConfigNames;
use MediaWiki\Page\Event\PageRevisionUpdatedEvent;
use MediaWiki\Page\Event\PageRevisionUpdatedListener;
@@ -21,7 +22,6 @@ use MediaWiki\User\User;
use MediaWiki\User\UserEditTracker;
use MediaWiki\User\UserIdentity;
use MediaWiki\User\UserNameUtils;
-use RevertedTagUpdateJob;
/**
* The ingress subscriber for the change tracking component. It updates change
diff --git a/includes/recentchanges/RecentChangesUpdateJob.php b/includes/recentchanges/RecentChangesUpdateJob.php
index a137c3f59a0a..9820ec20c88a 100644
--- a/includes/recentchanges/RecentChangesUpdateJob.php
+++ b/includes/recentchanges/RecentChangesUpdateJob.php
@@ -21,9 +21,9 @@
namespace MediaWiki\RecentChanges;
use InvalidArgumentException;
-use Job;
use MediaWiki\Deferred\SiteStatsUpdate;
use MediaWiki\HookContainer\HookRunner;
+use MediaWiki\JobQueue\Job;
use MediaWiki\MainConfigNames;
use MediaWiki\MediaWikiServices;
use MediaWiki\SpecialPage\SpecialPage;
diff --git a/includes/specials/SpecialMovePage.php b/includes/specials/SpecialMovePage.php
index 1693bc581b4d..94a9e4fd13fd 100644
--- a/includes/specials/SpecialMovePage.php
+++ b/includes/specials/SpecialMovePage.php
@@ -20,7 +20,6 @@
namespace MediaWiki\Specials;
-use DoubleRedirectJob;
use ErrorPageError;
use MediaWiki\Cache\LinkBatchFactory;
use MediaWiki\CommentStore\CommentStore;
@@ -28,6 +27,7 @@ use MediaWiki\Content\IContentHandlerFactory;
use MediaWiki\Deferred\DeferredUpdates;
use MediaWiki\FileRepo\RepoGroup;
use MediaWiki\Html\Html;
+use MediaWiki\JobQueue\Jobs\DoubleRedirectJob;
use MediaWiki\Logging\LogEventsList;
use MediaWiki\Logging\LogPage;
use MediaWiki\MainConfigNames;
diff --git a/includes/specials/SpecialRunJobs.php b/includes/specials/SpecialRunJobs.php
index a4aae06676e5..cb1d2ec57f72 100644
--- a/includes/specials/SpecialRunJobs.php
+++ b/includes/specials/SpecialRunJobs.php
@@ -21,9 +21,9 @@
namespace MediaWiki\Specials;
use HttpStatus;
-use JobRunner;
use MediaWiki\Deferred\DeferredUpdates;
use MediaWiki\Deferred\TransactionRoundDefiningUpdate;
+use MediaWiki\JobQueue\JobRunner;
use MediaWiki\Json\FormatJson;
use MediaWiki\MainConfigNames;
use MediaWiki\SpecialPage\UnlistedSpecialPage;
diff --git a/includes/specials/SpecialUpload.php b/includes/specials/SpecialUpload.php
index fe696b40e2ea..65e62e2d55c0 100644
--- a/includes/specials/SpecialUpload.php
+++ b/includes/specials/SpecialUpload.php
@@ -24,7 +24,6 @@ use BitmapHandler;
use ChangeTags;
use ErrorPageError;
use ImageGalleryBase;
-use JobQueueGroup;
use MediaWiki\Config\Config;
use MediaWiki\FileRepo\File\LocalFile;
use MediaWiki\FileRepo\LocalRepo;
@@ -32,6 +31,8 @@ use MediaWiki\FileRepo\RepoGroup;
use MediaWiki\HookContainer\HookRunner;
use MediaWiki\Html\Html;
use MediaWiki\HTMLForm\HTMLForm;
+use MediaWiki\JobQueue\JobQueueGroup;
+use MediaWiki\JobQueue\Jobs\UploadFromUrlJob;
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\Logging\LogEventsList;
use MediaWiki\MainConfigNames;
@@ -881,7 +882,7 @@ class SpecialUpload extends SpecialPage {
[ $pageText, $changeTags ] = $pageAndTags;
// Create a new job to process the upload from url
- $job = new \UploadFromUrlJob(
+ $job = new UploadFromUrlJob(
[
'filename' => $this->mUpload->getDesiredDestName(),
'url' => $this->mUpload->getUrl(),
diff --git a/includes/user/UserEditTracker.php b/includes/user/UserEditTracker.php
index 757509808cd1..9cd488178699 100644
--- a/includes/user/UserEditTracker.php
+++ b/includes/user/UserEditTracker.php
@@ -3,9 +3,9 @@
namespace MediaWiki\User;
use InvalidArgumentException;
-use JobQueueGroup;
use MediaWiki\Deferred\DeferredUpdates;
use MediaWiki\Deferred\UserEditCountUpdate;
+use MediaWiki\JobQueue\JobQueueGroup;
use UserEditCountInitJob;
use Wikimedia\Rdbms\DBAccessObjectUtils;
use Wikimedia\Rdbms\IConnectionProvider;
diff --git a/includes/user/UserGroupManager.php b/includes/user/UserGroupManager.php
index 8fef9a6a5903..ff349ad5173b 100644
--- a/includes/user/UserGroupManager.php
+++ b/includes/user/UserGroupManager.php
@@ -21,12 +21,12 @@
namespace MediaWiki\User;
use InvalidArgumentException;
-use JobQueueGroup;
use LogicException;
use MediaWiki\Config\ServiceOptions;
use MediaWiki\Deferred\DeferredUpdates;
use MediaWiki\HookContainer\HookContainer;
use MediaWiki\HookContainer\HookRunner;
+use MediaWiki\JobQueue\JobQueueGroup;
use MediaWiki\Logging\ManualLogEntry;
use MediaWiki\MainConfigNames;
use MediaWiki\Parser\Sanitizer;
diff --git a/includes/watchlist/ActivityUpdateJob.php b/includes/watchlist/ActivityUpdateJob.php
index 77a38d102eff..44c76f79fbd3 100644
--- a/includes/watchlist/ActivityUpdateJob.php
+++ b/includes/watchlist/ActivityUpdateJob.php
@@ -21,7 +21,7 @@
namespace MediaWiki\Watchlist;
use InvalidArgumentException;
-use Job;
+use MediaWiki\JobQueue\Job;
use MediaWiki\Linker\LinkTarget;
use MediaWiki\MediaWikiServices;
use MediaWiki\Page\PageReference;
diff --git a/includes/watchlist/ClearUserWatchlistJob.php b/includes/watchlist/ClearUserWatchlistJob.php
index 0bf8836c0398..16a466cedfa5 100644
--- a/includes/watchlist/ClearUserWatchlistJob.php
+++ b/includes/watchlist/ClearUserWatchlistJob.php
@@ -2,8 +2,8 @@
namespace MediaWiki\Watchlist;
-use GenericParameterJob;
-use Job;
+use MediaWiki\JobQueue\GenericParameterJob;
+use MediaWiki\JobQueue\Job;
use MediaWiki\MainConfigNames;
use MediaWiki\MediaWikiServices;
use MediaWiki\User\UserIdentity;
diff --git a/includes/watchlist/ClearWatchlistNotificationsJob.php b/includes/watchlist/ClearWatchlistNotificationsJob.php
index 5d52d2d52c9d..88ba28a2fdeb 100644
--- a/includes/watchlist/ClearWatchlistNotificationsJob.php
+++ b/includes/watchlist/ClearWatchlistNotificationsJob.php
@@ -20,9 +20,9 @@
namespace MediaWiki\Watchlist;
-use GenericParameterJob;
use InvalidArgumentException;
-use Job;
+use MediaWiki\JobQueue\GenericParameterJob;
+use MediaWiki\JobQueue\Job;
use MediaWiki\MainConfigNames;
use MediaWiki\MediaWikiServices;
diff --git a/includes/watchlist/WatchedItemStore.php b/includes/watchlist/WatchedItemStore.php
index eaa33035df69..dcc87332b1c1 100644
--- a/includes/watchlist/WatchedItemStore.php
+++ b/includes/watchlist/WatchedItemStore.php
@@ -3,12 +3,12 @@
namespace MediaWiki\Watchlist;
use DateInterval;
-use JobQueueGroup;
use LogicException;
use MapCacheLRU;
use MediaWiki\Cache\LinkBatchFactory;
use MediaWiki\Config\ServiceOptions;
use MediaWiki\Deferred\DeferredUpdates;
+use MediaWiki\JobQueue\JobQueueGroup;
use MediaWiki\Linker\LinkTarget;
use MediaWiki\MainConfigNames;
use MediaWiki\Page\PageIdentity;
diff --git a/includes/watchlist/WatchlistExpiryJob.php b/includes/watchlist/WatchlistExpiryJob.php
index 6f62a23d626a..7d00b09ae375 100644
--- a/includes/watchlist/WatchlistExpiryJob.php
+++ b/includes/watchlist/WatchlistExpiryJob.php
@@ -2,7 +2,7 @@
namespace MediaWiki\Watchlist;
-use Job;
+use MediaWiki\JobQueue\Job;
use MediaWiki\MediaWikiServices;
/**