Code Duplication    Length = 25-30 lines in 2 locations

includes/jobqueue/JobQueueDB.php 2 locations

@@ 114-138 (lines=25) @@
111
	 * @see JobQueue::doGetAcquiredCount()
112
	 * @return int
113
	 */
114
	protected function doGetAcquiredCount() {
115
		if ( $this->claimTTL <= 0 ) {
116
			return 0; // no acknowledgements
117
		}
118
119
		$key = $this->getCacheKey( 'acquiredcount' );
120
121
		$count = $this->cache->get( $key );
122
		if ( is_int( $count ) ) {
123
			return $count;
124
		}
125
126
		$dbr = $this->getReplicaDB();
127
		try {
128
			$count = (int)$dbr->selectField( 'job', 'COUNT(*)',
129
				[ 'job_cmd' => $this->type, "job_token != {$dbr->addQuotes( '' )}" ],
130
				__METHOD__
131
			);
132
		} catch ( DBError $e ) {
133
			$this->throwDBException( $e );
134
		}
135
		$this->cache->set( $key, $count, self::CACHE_TTL_SHORT );
136
137
		return $count;
138
	}
139
140
	/**
141
	 * @see JobQueue::doGetAbandonedCount()
@@ 145-174 (lines=30) @@
142
	 * @return int
143
	 * @throws MWException
144
	 */
145
	protected function doGetAbandonedCount() {
146
		if ( $this->claimTTL <= 0 ) {
147
			return 0; // no acknowledgements
148
		}
149
150
		$key = $this->getCacheKey( 'abandonedcount' );
151
152
		$count = $this->cache->get( $key );
153
		if ( is_int( $count ) ) {
154
			return $count;
155
		}
156
157
		$dbr = $this->getReplicaDB();
158
		try {
159
			$count = (int)$dbr->selectField( 'job', 'COUNT(*)',
160
				[
161
					'job_cmd' => $this->type,
162
					"job_token != {$dbr->addQuotes( '' )}",
163
					"job_attempts >= " . $dbr->addQuotes( $this->maxTries )
164
				],
165
				__METHOD__
166
			);
167
		} catch ( DBError $e ) {
168
			$this->throwDBException( $e );
169
		}
170
171
		$this->cache->set( $key, $count, self::CACHE_TTL_SHORT );
172
173
		return $count;
174
	}
175
176
	/**
177
	 * @see JobQueue::doBatchPush()