We want to migrate the async jobs to use PHP7, and to be able to do so job-by-job. In order to do this, we need to:
- Pick a couple jobs to test first, change their configuration in changeprop to sending the PHP_ENGINE=php7 cookie
- Once we're convinced by both the latencies and the overall performance, switch the other jobs progressively
- Check that logs/errors are collected
- Check that metrics are collected
- Amend the apache configuration to remove the need for the cookie
- Revert the addition of the cookie to changeprop
Job list, roughly we'll migrate in that order:
- updateBetaFeaturesUserCounts (510703)
- RecordLintJob (511436)
- htmlCacheUpdate (511649)
- wikibase-addUsagesForPage (511913)
- ORESFetchScoresJob (512858)
- RecentChangesUpdate() (Hight traffic, user visible)(512872)
- refreshLinks (too much traffic)
- cirrusSearchCheckerJob (Tricky. It runs from a cron script scheduling bulk jobs with a set of pageIds and uses delay 1,2,3,4... to scatter the jobs in time
- cirrusSearchDeleteArchive
- cirrusSearchDeletePages
- cirrusSearchElasticaWrite
- cirrusSearchIncomingLinkCount
- cirrusSearchLinksUpdate
- cirrusSearchLinksUpdatePrioritized
- cirrusSearchOtherIndex
- cdnPurge
- categoryMembershipChange
- ThumbnailRender
- constraintsRunCheck
- webVideoTranscode
- webVideoTranscodePrioritized
The following jobs will be migrated as we are migrating jobrunners to serve via PHP7 only:
- refreshLinksPrioritized (too much traffic)
- TranslationsUpdateJob
- TranslateRenderJob
- TranslatablePageMoveJob
- TranslateDeleteJob
- translationNotificationJob
- wikibase-UpdateUsagesForPage (super high traffic)
- ChangeNotification (hight rate)
- CognateCacheUpdateJob (basically a wrapper over HTMLCacheUpdatejob)
- flaggedrevs_CacheUpdate
- deleteLinks
- EchoNotificationDeleteJob
- wikibase-InjectRCRecords
- AssembleUploadChunks
- BounceHandlerJob
- CentralAuthCreateLocalAccountJob
- enotifNotify
- gwtoolsetGWTFileBackendCleanupJob
- LocalPageMoveJob
- LocalRenameUserJob
- LoginNotifyChecks
- MassMessageJob
- MassMessageSubmitJob
- MassMessageServerSideJob
- MessageGroupStatesUpdaterJob
- MessageIndexRebuildJob
- PublishStashedFile
- GlobalUserPageLocalJobSubmitJob
- renameUser
- UpdateRepoOnDelete
- UpdateRepoOnMove
- EchoNotificationJob
- cirrusSearchMassIndex
- sendMail
- deletePage
- refreshLinksDynamic
- LocalSharedHelpPageCacheUpdateJob
- cirrusSearchJobChecker
- constraintsTableUpdate
- synchroniseThreadArticleData
- compileArticleMetadata
- clearUserWatchlist
- BounceHandlerNotificationJob
- MessageGroupStatsRebuildJob
- cpjobqueue.error
- gwtoolsetUploadMetadataJob
- CognateLocalJobSubmitJob
- TTMServerMessageUpdateJob
- LocalRenameUserJob
- userGroupExpiry
- crosswikiSuppressUser
- securePollPopulateVoterList
- CentralAuthUnattachUserJob
- LocalGlobalUserPageCacheUpdateJob
[x]globalUsageCachePurge
- activityUpdateJob
Notes:
mediawiki/includes/jobqueue/jobs/
1 LoginNotifyChecks 2 RecordLintJob 3 EchoNotificationDeleteJob 8 cirrusSearchIncomingLinkCount 8 enotifNotify 10 activityUpdateJob 58 cirrusSearchLinksUpdatePrioritized 63 recentChangesUpdate 64 refreshLinks 72 categoryMembershipChange 81 cirrusSearchLinksUpdate 165 htmlCacheUpdate 2000 cirrusSearchCheckerJob
Graphs: