Merge "Accessibility: Don't arbitrarily override role"
[lhc/web/wiklou.git] / includes / job / JobQueue.php
index 6bf6f82..aa47432 100644 (file)
@@ -96,7 +96,7 @@ abstract class JobQueue {
         */
        final public static function factory( array $params ) {
                $class = $params['class'];
-               if ( !MWInit::classExists( $class ) ) {
+               if ( !class_exists( $class ) ) {
                        throw new MWException( "Invalid job queue class '$class'." );
                }
                $obj = new $class( $params );
@@ -507,6 +507,28 @@ abstract class JobQueue {
                return wfForeignMemcKey( $db, $prefix, 'jobqueue', $this->type, 'rootjob', $signature );
        }
 
+       /**
+        * Deleted all unclaimed and delayed jobs from the queue
+        *
+        * @return bool Success
+        * @throws MWException
+        * @since 1.22
+        */
+       final public function delete() {
+               wfProfileIn( __METHOD__ );
+               $res = $this->doDelete();
+               wfProfileOut( __METHOD__ );
+               return $res;
+       }
+
+       /**
+        * @see JobQueue::delete()
+        * @return bool Success
+        */
+       protected function doDelete() {
+               throw new MWException( "This method is not implemented." );
+       }
+
        /**
         * Wait for any slaves or backup servers to catch up.
         *
@@ -575,7 +597,7 @@ abstract class JobQueue {
        /**
         * Get an iterator to traverse over all available jobs in this queue.
         * This does not include jobs that are currently acquired or delayed.
-        * This should only be called on a queue that is no longer being popped.
+        * Note: results may be stale if the queue is concurrently modified.
         *
         * @return Iterator
         * @throws MWException
@@ -584,7 +606,7 @@ abstract class JobQueue {
 
        /**
         * Get an iterator to traverse over all delayed jobs in this queue.
-        * This should only be called on a queue that is no longer being popped.
+        * Note: results may be stale if the queue is concurrently modified.
         *
         * @return Iterator
         * @throws MWException