/** @var array[] */
protected static $data = [];
+ public function __construct( array $params ) {
+ $params['wanCache'] = new WANObjectCache( [ 'cache' => new HashBagOStuff() ] );
+
+ parent::__construct( $params );
+ }
+
/**
* @see JobQueue::doBatchPush
*
foreach ( $jobs as $job ) {
if ( $job->ignoreDuplicates() ) {
- $sha1 = Wikimedia\base_convert(
- sha1( serialize( $job->getDeduplicationInfo() ) ),
- 16, 36, 31
- );
+ $sha1 = sha1( serialize( $job->getDeduplicationInfo() ) );
if ( !isset( $unclaimed[$sha1] ) ) {
$unclaimed[$sha1] = $job;
}
/**
* @see JobQueue::doPop
*
- * @return Job|bool
+ * @return RunnableJob|bool
*/
protected function doPop() {
if ( $this->doGetSize() == 0 ) {
/**
* @see JobQueue::doAck
*
- * @param Job $job
+ * @param RunnableJob $job
*/
- protected function doAck( Job $job ) {
+ protected function doAck( RunnableJob $job ) {
if ( $this->getAcquiredCount() == 0 ) {
return;
}
$claimed =& $this->getQueueData( 'claimed' );
- $job->setMetadata( 'claimId', null );
+ unset( $claimed[$job->getMetadata( 'claimId' )] );
}
/**
/**
* @param IJobSpecification $spec
- *
- * @return Job
+ * @return RunnableJob
*/
public function jobFromSpecInternal( IJobSpecification $spec ) {
- return Job::factory( $spec->getType(), $spec->getTitle(), $spec->getParams() );
+ return $this->factoryJob( $spec->getType(), $spec->getParams() );
}
/**