Extensions: $wgJobClasses | |
---|---|
Maps jobs to their handling classes. |
|
Introduced in version: | 1.11.0 (r23173) |
Removed in version: | still in use |
Allowed values: | (array) |
Default value: | see below |
Other settings: Alphabetical | By function |
Details
Maps jobs to their handling classes. Extensions can add to this to provide custom jobs. See Manual:Job queue/For developers
for more information.Since MediaWiki 1.30, it may now specify callback functions as an alternative to plain class names. This is intended for extensions that want control over the instantiation of their jobs, to allow for proper dependency injection.
Extensions
Extensions can add to this via the JobClasses
object in extension.json :
"JobClasses": {
"myExtDoSomething": "MediaWiki\\Extension\\MyExt\\Job\\DoSomethingJob"
},
The key must be unique and match what's specified in the job's constructor, and the value is the job class.
Default value
MediaWiki version: | ≥ 1.40 |
$wgJobClasses = [
'deletePage' => DeletePageJob::class, // 1.32
'refreshLinks' => RefreshLinksJob::class, // 1.11
'deleteLinks' => DeleteLinksJob::class, // 1.27
'htmlCacheUpdate' => HTMLCacheUpdateJob::class, // 1.11
'sendMail' => EmaillingJob::class, // 1.11
'enotifNotify' => EnotifNotifyJob::class, // 1.11
'fixDoubleRedirect' => DoubleRedirectJob::class,
'AssembleUploadChunks' => AssembleUploadChunksJob::class,
'PublishStashedFile' => PublishStashedFileJob::class,
'ThumbnailRender' => ThumbnailRenderJob::class,
'recentChangesUpdate' => RecentChangesUpdateJob::class,
'refreshLinksPrioritized' => RefreshLinksJob::class,
'refreshLinksDynamic' => RefreshLinksJob::class, // 1.27
'activityUpdateJob' => ActivityUpdateJob::class, // 1.26
'categoryMembershipChange' => CategoryMembershipChangeJob::class, // 1.35
'clearUserWatchlist' => ClearUserWatchlistJob::class, // 1.31
'watchlistExpiry' => WatchlistExpiryJob::class, // 1.35
'cdnPurge' => CdnPurgeJob::class, // 1.27
'userGroupExpiry' => UserGroupExpiryJob::class, // 1.31
'clearWatchlistNotifications' => ClearWatchlistNotificationsJob::class, // 1.31
'userOptionsUpdate' => UserOptionsUpdateJob::class, // 1.34
'revertedTagUpdate' => RevertedTagUpdateJob::class, // 1.36
'null' => NullJob::class,
'userEditCountInit' => UserEditCountInitJob::class, // 1.36
'parsoidCachePrewarm' => [ // 1.40
'class' => 'ParsoidCachePrewarmJob',
'services' => [
'ParsoidOutputAccess',
'PageStore',
'RevisionLookup',
],
'needsPage' => false,
],
'renameUser' => [ // 1.40
'class' => 'RenameUserJob',
'services' => [
'MainConfig',
'DBLoadBalancerFactory',
],
],
];
MediaWiki versions: | 1.36 – 1.39 |
$wgJobClasses = [
'deletePage' => DeletePageJob::class, // 1.32
'refreshLinks' => RefreshLinksJob::class, // 1.11
'deleteLinks' => DeleteLinksJob::class, // 1.27
'htmlCacheUpdate' => HTMLCacheUpdateJob::class, // 1.11
'sendMail' => EmaillingJob::class, // 1.11
'enotifNotify' => EnotifNotifyJob::class, // 1.11
'fixDoubleRedirect' => DoubleRedirectJob::class,
'AssembleUploadChunks' => AssembleUploadChunksJob::class,
'PublishStashedFile' => PublishStashedFileJob::class,
'ThumbnailRender' => ThumbnailRenderJob::class,
'recentChangesUpdate' => RecentChangesUpdateJob::class,
'refreshLinksPrioritized' => RefreshLinksJob::class,
'refreshLinksDynamic' => RefreshLinksJob::class, // 1.27
'activityUpdateJob' => ActivityUpdateJob::class, // 1.26
'categoryMembershipChange' => CategoryMembershipChangeJob::class, // 1.35
'clearUserWatchlist' => ClearUserWatchlistJob::class, // 1.31
'watchlistExpiry' => WatchlistExpiryJob::class, // 1.35
'cdnPurge' => CdnPurgeJob::class, // 1.27
'userGroupExpiry' => UserGroupExpiryJob::class, // 1.31
'clearWatchlistNotifications' => ClearWatchlistNotificationsJob::class, // 1.31
'userOptionsUpdate' => UserOptionsUpdateJob::class, // 1.34
'revertedTagUpdate' => RevertedTagUpdateJob::class, // 1.36
'enqueue' => EnqueueJob::class, // local queue for multi-DC setups
'null' => NullJob::class,
'userEditCountInit' => UserEditCountInitJob::class, // 1.36
];
MediaWiki version: | 1.35 |
$wgJobClasses = [
'deletePage' => DeletePageJob::class, // 1.32
'refreshLinks' => RefreshLinksJob::class, // 1.11
'deleteLinks' => DeleteLinksJob::class, // 1.27
'htmlCacheUpdate' => HTMLCacheUpdateJob::class, // 1.11
'sendMail' => EmaillingJob::class, // 1.11
'enotifNotify' => EnotifNotifyJob::class, // 1.11
'fixDoubleRedirect' => DoubleRedirectJob::class,
'AssembleUploadChunks' => AssembleUploadChunksJob::class,
'PublishStashedFile' => PublishStashedFileJob::class,
'ThumbnailRender' => ThumbnailRenderJob::class,
'recentChangesUpdate' => RecentChangesUpdateJob::class,
'refreshLinksPrioritized' => RefreshLinksJob::class,
'refreshLinksDynamic' => RefreshLinksJob::class, // 1.27
'activityUpdateJob' => ActivityUpdateJob::class, // 1.26
'categoryMembershipChange' => CategoryMembershipChangeJob::class, // 1.35
'clearUserWatchlist' => ClearUserWatchlistJob::class, // 1.31
'watchlistExpiry' => WatchlistExpiryJob::class, // 1.35
'cdnPurge' => CdnPurgeJob::class, // 1.27
'userGroupExpiry' => UserGroupExpiryJob::class, // 1.31
'clearWatchlistNotifications' => ClearWatchlistNotificationsJob::class, // 1.31
'userOptionsUpdate' => UserOptionsUpdateJob::class, // 1.34
'enqueue' => EnqueueJob::class, // <translate nowrap><!--T:16--> local queue for multi-DC setups</translate>
'null' => NullJob::class,
];
MediaWiki version: | 1.34 |
$wgJobClasses = [
'deletePage' => DeletePageJob::class, // 1.32
'refreshLinks' => RefreshLinksJob::class, // 1.11
'deleteLinks' => DeleteLinksJob::class, // 1.27
'htmlCacheUpdate' => HTMLCacheUpdateJob::class, // 1.11
'sendMail' => EmaillingJob::class, // 1.11
'enotifNotify' => EnotifNotifyJob::class, // 1.11
'fixDoubleRedirect' => DoubleRedirectJob::class,
'AssembleUploadChunks' => AssembleUploadChunksJob::class,
'PublishStashedFile' => PublishStashedFileJob::class,
'ThumbnailRender' => ThumbnailRenderJob::class,
'recentChangesUpdate' => RecentChangesUpdateJob::class,
'refreshLinksPrioritized' => RefreshLinksJob::class,
'refreshLinksDynamic' => RefreshLinksJob::class, // 1.27
'activityUpdateJob' => ActivityUpdateJob::class, // 1.26
'categoryMembershipChange' => function ( Title $title, $params = [] ) { // 1.33
$pc = MediaWikiServices::getInstance()->getParserCache();
return new CategoryMembershipChangeJob( $pc, $title, $params );
},
'clearUserWatchlist' => ClearUserWatchlistJob::class, // 1.31
'cdnPurge' => CdnPurgeJob::class, // 1.27
'userGroupExpiry' => UserGroupExpiryJob::class, // 1.31
'clearWatchlistNotifications' => ClearWatchlistNotificationsJob::class, // 1.31
'userOptionsUpdate' => UserOptionsUpdateJob::class, // 1.34
'enqueue' => EnqueueJob::class, // local queue for multi-DC setups
'null' => NullJob::class,
];
MediaWiki version: | 1.33 |
$wgJobClasses = [
'deletePage' => DeletePageJob::class, // 1.32
'refreshLinks' => RefreshLinksJob::class, // 1.11
'deleteLinks' => DeleteLinksJob::class, // 1.27
'htmlCacheUpdate' => HTMLCacheUpdateJob::class, // 1.11
'sendMail' => EmaillingJob::class, // 1.11
'enotifNotify' => EnotifNotifyJob::class, // 1.11
'fixDoubleRedirect' => DoubleRedirectJob::class,
'AssembleUploadChunks' => AssembleUploadChunksJob::class,
'PublishStashedFile' => PublishStashedFileJob::class,
'ThumbnailRender' => ThumbnailRenderJob::class,
'recentChangesUpdate' => RecentChangesUpdateJob::class,
'refreshLinksPrioritized' => RefreshLinksJob::class,
'refreshLinksDynamic' => RefreshLinksJob::class, // 1.27
'activityUpdateJob' => ActivityUpdateJob::class, // 1.26
'categoryMembershipChange' => function ( Title $title, $params = [] ) { // 1.33
$pc = MediaWikiServices::getInstance()->getParserCache();
return new CategoryMembershipChangeJob( $pc, $title, $params );
},
'clearUserWatchlist' => ClearUserWatchlistJob::class, // 1.31
'cdnPurge' => CdnPurgeJob::class, // 1.27
'userGroupExpiry' => UserGroupExpiryJob::class, // 1.31
'clearWatchlistNotifications' => ClearWatchlistNotificationsJob::class, // 1.31
'enqueue' => EnqueueJob::class, // local queue for multi-DC setups
'null' => NullJob::class,
];
MediaWiki version: | 1.32 |
$wgJobClasses = [
'deletePage' => DeletePageJob::class, // 1.32
'refreshLinks' => RefreshLinksJob::class, // 1.11
'deleteLinks' => DeleteLinksJob::class, // 1.27
'htmlCacheUpdate' => HTMLCacheUpdateJob::class, // 1.11
'sendMail' => EmaillingJob::class, // 1.11
'enotifNotify' => EnotifNotifyJob::class, // 1.11
'fixDoubleRedirect' => DoubleRedirectJob::class,
'AssembleUploadChunks' => AssembleUploadChunksJob::class,
'PublishStashedFile' => PublishStashedFileJob::class,
'ThumbnailRender' => ThumbnailRenderJob::class,
'recentChangesUpdate' => RecentChangesUpdateJob::class,
'refreshLinksPrioritized' => RefreshLinksJob::class,
'refreshLinksDynamic' => RefreshLinksJob::class, // 1.27
'activityUpdateJob' => ActivityUpdateJob::class, // 1.26
'categoryMembershipChange' => CategoryMembershipChangeJob::class, // 1.27
'clearUserWatchlist' => ClearUserWatchlistJob::class, // 1.31
'cdnPurge' => CdnPurgeJob::class, // 1.27
'userGroupExpiry' => UserGroupExpiryJob::class, // 1.31
'clearWatchlistNotifications' => ClearWatchlistNotificationsJob::class, // 1.31
'enqueue' => EnqueueJob::class, // local queue for multi-DC setups
'null' => NullJob::class,
];
MediaWiki version: | 1.31 |
$wgJobClasses = [
'refreshLinks' => RefreshLinksJob::class, // 1.11
'deleteLinks' => DeleteLinksJob::class, // 1.27
'htmlCacheUpdate' => HTMLCacheUpdateJob::class, // 1.11
'sendMail' => EmaillingJob::class, // 1.11
'enotifNotify' => EnotifNotifyJob::class, // 1.11
'fixDoubleRedirect' => DoubleRedirectJob::class,
'AssembleUploadChunks' => AssembleUploadChunksJob::class,
'PublishStashedFile' => PublishStashedFileJob::class,
'ThumbnailRender' => ThumbnailRenderJob::class,
'recentChangesUpdate' => RecentChangesUpdateJob::class,
'refreshLinksPrioritized' => RefreshLinksJob::class,
'refreshLinksDynamic' => RefreshLinksJob::class, // 1.27
'activityUpdateJob' => ActivityUpdateJob::class, // 1.26
'categoryMembershipChange' => CategoryMembershipChangeJob::class, // 1.27
'clearUserWatchlist' => ClearUserWatchlistJob::class, // 1.31
'cdnPurge' => CdnPurgeJob::class, // 1.27
'userGroupExpiry' => UserGroupExpiryJob::class, // 1.31
'clearWatchlistNotifications' => ClearWatchlistNotificationsJob::class, // 1.31
'enqueue' => EnqueueJob::class, // local queue for multi-DC setups
'null' => NullJob::class,
];
MediaWiki versions: | 1.27 – 1.30 |
$wgJobClasses = [
'refreshLinks' => 'RefreshLinksJob', // 1.11
'deleteLinks' => 'DeleteLinksJob', // 1.27
'htmlCacheUpdate' => 'HTMLCacheUpdateJob', // 1.11
'sendMail' => 'EmaillingJob', // 1.11
'enotifNotify' => 'EnotifNotifyJob', // 1.11
'fixDoubleRedirect' => 'DoubleRedirectJob',
'AssembleUploadChunks' => 'AssembleUploadChunksJob',
'PublishStashedFile' => 'PublishStashedFileJob',
'ThumbnailRender' => 'ThumbnailRenderJob',
'recentChangesUpdate' => 'RecentChangesUpdateJob',
'refreshLinksPrioritized' => 'RefreshLinksJob',
'refreshLinksDynamic' => 'RefreshLinksJob', // 1.27
'activityUpdateJob' => 'ActivityUpdateJob', // 1.26
'categoryMembershipChange' => 'CategoryMembershipChangeJob', // 1.27
'cdnPurge' => 'CdnPurgeJob', // 1.27
'enqueue' => 'EnqueueJob', // local queue for multi-DC setups
'null' => 'NullJob'
];
MediaWiki version: | 1.26 |
$wgJobClasses = array(
'refreshLinks' => 'RefreshLinksJob', // 1.11
'htmlCacheUpdate' => 'HTMLCacheUpdateJob', // 1.11
'sendMail' => 'EmaillingJob', // 1.11
'enotifNotify' => 'EnotifNotifyJob', // 1.11
'fixDoubleRedirect' => 'DoubleRedirectJob',
'uploadFromUrl' => 'UploadFromUrlJob',
'AssembleUploadChunks' => 'AssembleUploadChunksJob',
'PublishStashedFile' => 'PublishStashedFileJob',
'ThumbnailRender' => 'ThumbnailRenderJob',
'recentChangesUpdate' => 'RecentChangesUpdateJob',
'refreshLinksPrioritized' => 'RefreshLinksJob', // for cascading protection
'activityUpdateJob' => 'ActivityUpdateJob', // 1.26
'enqueue' => 'EnqueueJob', // local queue for multi-DC setups
'null' => 'NullJob'
);
MediaWiki versions: | 1.11 – 1.12 |
$wgJobClasses = array(
'refreshLinks' => 'RefreshLinksJob', // 1.11
'htmlCacheUpdate' => 'HTMLCacheUpdateJob', // 1.11
'html_cache_update' => 'HTMLCacheUpdateJob', // backwards-compatible
'sendMail' => 'EmaillingJob', // 1.11
'enotifNotify' => 'EnotifNotifyJob', // 1.11
);
This article is issued from Mediawiki. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.