Code Duplication    Length = 17-19 lines in 2 locations

includes/jobqueue/JobQueueRedis.php 1 location

@@ 681-697 (lines=17) @@
678
	 * @param IJobSpecification $job
679
	 * @return array
680
	 */
681
	protected function getNewJobFields( IJobSpecification $job ) {
682
		return [
683
			// Fields that describe the nature of the job
684
			'type' => $job->getType(),
685
			'namespace' => $job->getTitle()->getNamespace(),
686
			'title' => $job->getTitle()->getDBkey(),
687
			'params' => $job->getParams(),
688
			// Some jobs cannot run until a "release timestamp"
689
			'rtimestamp' => $job->getReleaseTimestamp() ?: 0,
690
			// Additional job metadata
691
			'uuid' => UIDGenerator::newRawUUIDv4( UIDGenerator::QUICK_RAND ),
692
			'sha1' => $job->ignoreDuplicates()
693
				? Wikimedia\base_convert( sha1( serialize( $job->getDeduplicationInfo() ) ), 16, 36, 31 )
694
				: '',
695
			'timestamp' => time() // UNIX timestamp
696
		];
697
	}
698
699
	/**
700
	 * @param array $fields

includes/jobqueue/JobQueueDB.php 1 location

@@ 716-734 (lines=19) @@
713
	 * @param IJobSpecification $job
714
	 * @return array
715
	 */
716
	protected function insertFields( IJobSpecification $job ) {
717
		$dbw = $this->getMasterDB();
718
719
		return [
720
			// Fields that describe the nature of the job
721
			'job_cmd' => $job->getType(),
722
			'job_namespace' => $job->getTitle()->getNamespace(),
723
			'job_title' => $job->getTitle()->getDBkey(),
724
			'job_params' => self::makeBlob( $job->getParams() ),
725
			// Additional job metadata
726
			'job_id' => $dbw->nextSequenceValue( 'job_job_id_seq' ),
727
			'job_timestamp' => $dbw->timestamp(),
728
			'job_sha1' => Wikimedia\base_convert(
729
				sha1( serialize( $job->getDeduplicationInfo() ) ),
730
				16, 36, 31
731
			),
732
			'job_random' => mt_rand( 0, self::MAX_JOB_RANDOM )
733
		];
734
	}
735
736
	/**
737
	 * @throws JobQueueConnectionError