$popTime = time();
$jType = $job->getType();
+ WebRequest::overrideRequestId( $job->getRequestId() );
+
// Back off of certain jobs for a while (for throttling and for errors)
$ttw = $this->getBackoffTimeToWait( $job );
if ( $ttw > 0 ) {
DeferredUpdates::doUpdates();
$this->commitMasterChanges( $job );
+ $job->teardown();
} catch ( Exception $e ) {
MWExceptionHandler::rollbackMasterChangesAndLog( $e );
$status = false;
$stats->timing( "jobqueue.pickup_delay.$jType", 1000 * $pickupDelay );
}
// Record root job age for jobs being run
- $root = $job->getRootJobParams();
- if ( $root['rootJobTimestamp'] ) {
- $age = max( 0, $popTime - wfTimestamp( TS_UNIX, $root['rootJobTimestamp'] ) );
+ $rootTimestamp = $job->getRootJobParams()['rootJobTimestamp'];
+ if ( $rootTimestamp ) {
+ $age = max( 0, $popTime - wfTimestamp( TS_UNIX, $rootTimestamp ) );
$stats->timing( "jobqueue.pickup_root_age.$jType", 1000 * $age );
}
// Track the execution time for jobs
$ms = intval( 1000 * $dbwSerial->pendingWriteQueryDuration() );
$msg = $job->toString() . " COMMIT ENQUEUED [{$ms}ms of writes]";
- $this->logger->warning( $msg );
+ $this->logger->info( $msg );
$this->debugCallback( $msg );
// Wait for an exclusive lock to commit