Moved job running via $wgJobRunRate to a special API
authorAaron Schulz <aschulz@wikimedia.org>
Wed, 12 Feb 2014 22:43:14 +0000 (14:43 -0800)
committerOri.livneh <ori@wikimedia.org>
Thu, 27 Feb 2014 19:12:04 +0000 (19:12 +0000)
commit2ea4d7ae8c19f718e872888db151ccc5e28c9ca4
treea4c38919d0dda763038cf6a2988999064d081b40
parent65abb805ead730325888397b0ed486fa4e41c815
Moved job running via $wgJobRunRate to a special API

* A background internal HTTP request used to load the API.
  This handles job execution and related periodic tasks.
  It avoids blocking the main request or breaking it on fatals.
* This method avoids problems that shelling could have:
** Mismatched apache/cli PHP config or versions.
** Had to start a new process and could not use opcode cache.
** safe_mode and open_basedir restrictions required a fallback.
** Some wiki farms may not respect the --wiki parameter.
** wgMaxShellMemory applies to spawned PHP processes.
** Spawning processes is more prone to DOS due to a lack
   of proper limiting/pooling.

bug: 60208
bug: 60210
bug: 60698
bug: 60844
Change-Id: I78b0e709301ac4a0c7b7ed337d6969d7546674bf
RELEASE-NOTES-1.23
includes/AutoLoader.php
includes/Wiki.php
includes/api/ApiMain.php
includes/api/ApiRunJobs.php [new file with mode: 0644]