@@ -169,7 +169,7 @@ public function markJobFailed($id, $failureMessage = null) {
169169 * @param string $taskName A task name to count
170170 * @return int The number of pending jobs
171171 */
172- public function getLength ($ taskName = null ) {
172+ public function getLength ($ taskName = null ) : int {
173173 $ conditions = ['completed ' => null ];
174174 if (!empty ($ taskName )) {
175175 $ conditions ['task ' ] = $ taskName ;
@@ -183,7 +183,7 @@ public function getLength($taskName = null) {
183183 *
184184 * @return array A list of task names
185185 */
186- public function getTypes () {
186+ public function getTypes () : array {
187187 $ fields = ['task ' , 'task ' ];
188188 $ group = ['task ' ];
189189
@@ -195,7 +195,7 @@ public function getTypes() {
195195 *
196196 * @return array An array with statistics
197197 */
198- public function getStats () {
198+ public function getStats () : array {
199199 $ fields = [
200200 'task ' ,
201201 'COUNT(id) AS num ' ,
@@ -215,19 +215,21 @@ public function getStats() {
215215 * @param array $capabilities Available queue worker tasks.
216216 * @return bool Success
217217 */
218- public function cleanOldJobs ($ capabilities ) {
219- $ conditions = [];
220-
221- // Generate the job specific conditions
218+ public function cleanOldJobs (array $ capabilities ) : bool {
219+ $ success = true ;
222220 foreach ($ capabilities as $ task ) {
223- list ($ plugin , $ name ) = pluginSplit ($ task ['name ' ]);
224- $ conditions[ ' OR ' ][] = [
221+ list (, $ name ) = pluginSplit ($ task ['name ' ]);
222+ $ conditions = [
225223 'task ' => $ name ,
226224 'completed < ' => date ('Y-m-d H:i:s ' , time () - $ task ['cleanupTimeout ' ])
227225 ];
226+ if (!$ this ->deleteAll ($ conditions , false )) {
227+ $ success = false ;
228+ break ;
229+ }
228230 }
229231
230- return $ this -> deleteAll ( $ conditions , false ) ;
232+ return $ success ;
231233 }
232234
233235/**
@@ -236,19 +238,21 @@ public function cleanOldJobs($capabilities) {
236238 * @param array $capabilities Available queue worker tasks.
237239 * @return bool Success
238240 */
239- public function cleanFailedJobs ($ capabilities ) {
240- $ conditions = [];
241-
242- // Generate the job specific conditions.
241+ public function cleanFailedJobs (array $ capabilities ) : bool {
242+ $ success = true ;
243243 foreach ($ capabilities as $ task ) {
244- list ($ plugin , $ name ) = pluginSplit ($ task ['name ' ]);
245- $ conditions[ ' OR ' ][] = [
244+ list (, $ name ) = pluginSplit ($ task ['name ' ]);
245+ $ conditions = [
246246 'task ' => $ name ,
247247 'failed_count > ' => $ task ['retries ' ]
248248 ];
249+ if (!$ this ->deleteAll ($ conditions , false )) {
250+ $ success = false ;
251+ break ;
252+ }
249253 }
250254
251- return $ this -> deleteAll ( $ conditions , false ) ;
255+ return $ success ;
252256 }
253257
254258/**
0 commit comments