Historically, the HTTP-facing script for running jobs on the jobrunners (RunJobs.php) resides in wmf-config repository, despite the fact that it is not really configuration material.
Instead, we think the rpc/RunJobs.php and rpc/RunSingleJob.php scripts should be moved to the MediaWiki core repository under the /rpc hierarchy (as this is the current location they are being synced to during deployment).
Rationale:
- They should be treated as software, not configuration
- They are not WMF-specific, but rather, specific to MW installs using an HTTP interface for running their jobs asynchronously.
- They are tightly coupled with the MW JobQueue codebase and infrastructure.
- Easier sharing with other environments (BetaCluster, MW-Vagrant, etc)
Thoughts? Suggestions? Objections?
As of February 2020 (based on T175146#5882126) we have:
- MediaWiki core: Special:RunJobs (default for MW)
- Protected at run-time by HMAC/SHA1
MediaWiki-EventBus extension: Special:RunSingleJob(unused)- Protected at run-time by JWT/sha256
- Removed in Feb 2020, T244826.
- MediaWiki-EventBus extension: /w/rest.php/eventbus/v0/internal/job/execute RunSingleJobHandler (unused)
- Protected structurally via config (would only be enabled on jobrunner servers).
- Protected at runt-time by SHA1 secret signature.
- Introduced in Feb 2020, T244826.
WMF: rpc/RunJobs.php(unused)- Protected at run-time by REMOTE_ADDR check (localhost-only).
- Protected structurally as it is only exposed on a non-public pool of app servers.
- Removed in Jun 2022, https://gerrit.wikimedia.org/r/c/805775.
- WMF: rpc/RunSingleJob.php (default for WMF)
- Not protected at run-time.
- Protected structurally as it is only exposed on a non-public pool of app servers.