This could possibly use LoggerFactory & friends to use them as
parameters, but either way let's sort the entries so they're
at least remotely capable of self-grouping.
Change-Id: Iaf435093d70add02e2f82e3037c64fec11870979
This is needed for deferred updates LinksDeletionUpdate and LinksUpdate, else
callbacks registered with onTransactionIdle prevent other transactions from
being executed, at least in this case.
Bug: T154425
Bug: T154438
Bug: T157679
Change-Id: Iecd396d584a62ac936cd963915339159467b44cd
Although issuing PHP notices in unit tests is only a nice-to-have, the cause
is PHPDBG has no special treatment in JobQueueGroup at the contrary of the
PHP SAPI 'cli', and it may be desirable both 'command line SAPIs' have the
same behaviour.
This is the most apparent difference between cli and phpdbg but there could
be a dozen of other occurrences (see bug), potentially creating differences
in unit tests depending on the SAPI.
Bug: T162591
Change-Id: Idf9c14db72f1f768c5a17b49ed689a05922c57d3
This happens post-send anyway, so throwing errors is not
very useful and the other post-send updates are independent.
Change-Id: Ife8f9825da9592be1a38cf4c757550213838463b
Also consistently use self:: instead of BagOStuff:: for constants
referenced within the BagOStuff class.
Change-Id: I20fde9fa5cddcc9e92fa6a02b05dc7effa846742
I am seeing a constant stream of
Notice: JobQueueGroup::__destruct: 1 buffered job(s) never inserted. in
/srv/mediawiki/php-1.26wmf6/includes/jobqueue/JobQueueGroup.php on line 419
In the production logfiles. Log what type of jobs these are so we can figure out
how to fix them.
Change-Id: I7beca910d8c4b20aa20bdec4883e399fd94fbcfd
* This avoids __destruct() warnings
* Also remove push() code in __destruct() that just made
more warnings since it's too late
Change-Id: I32a3cfabc94e36b9d2808b45d55209f3df46e47d
* Made use of this in triggerOpportunisticLinksUpdate()
* This will defer and better batch job insertion
* Lazy job insertion and other deferred updates
make use of register_postsend_function if present
* Also cleaned up some return types and exceptions
in JobQueueGroup
Bug: T99302
Change-Id: I3a3968d75cb37563f970be08e63f31a090e0e037
* Moved all these hacks to JobQueueDB, which is the only queue that
should need this (for stock installs). Newer queues should always
have the queue store manage stuff like this, not MediaWiki.
* This also avoids expensive object construction that does nothing
when non-DB queues are used.
Change-Id: Id718cda25750be73044a049b39958cca55aa3172
Xhprof generates this data now. Custom profiling of various
sub-function units are kept.
Calls to profiler represented about 3% of page execution
time on Special:BlankPage (1.5% in/out); after this change
it's down to about 0.98% of page execution time.
Change-Id: Id9a1dc9d8f80bbd52e42226b724a1e1213d07af7
Swapped some "$var type" to "type $var" or added missing types
before the $var. Changed some other types to match the more common
spelling. Makes beginning of some text in captial.
Change-Id: Ifbb1da2a6278b0bde2a6f6ce2e7bd383ee3fb28a
Checking that the job queue is nonempty is cheap, and when the result is
negative (that is, when the queue is actually empty), it spares from having to
launch a derivative request to Special:RunJobs for job processing. The
derivative request is not cheap, because processing it requires having an
additional full instance of the application. This patch adds the check.
Bug: 60210
Change-Id: Icb95c35f4a8a3c9d4b5aff97fdfabf596d05940a