Make it easy to get the number of the currently running child
authorChad Horohoe <chadh@wikimedia.org>
Wed, 8 Jan 2014 22:18:03 +0000 (14:18 -0800)
committerChad Horohoe <chadh@wikimedia.org>
Wed, 8 Jan 2014 22:18:28 +0000 (14:18 -0800)
Change-Id: I2071f04b6f01e640c850c6470cfa9f2f48f62eac

includes/ForkController.php

index 2d5aa4b..0582230 100644 (file)
@@ -30,7 +30,7 @@
  * @ingroup Maintenance
  */
 class ForkController {
-       protected $children = array();
+       protected $children = array(), $childNumber = 0;
        protected $termReceived = false;
        protected $flags = 0, $procsToStart = 0;
 
@@ -137,6 +137,16 @@ class ForkController {
                return 'done';
        }
 
+       /**
+        * Get the number of the child currently running. Note, this
+        * is not the pid, but rather which of the total number of children
+        * we are
+        * @return int
+        */
+       public function getChildNumber() {
+               return $this->childNumber;
+       }
+
        protected function prepareEnvironment() {
                global $wgMemc;
                // Don't share DB, storage, or memcached connections
@@ -166,6 +176,7 @@ class ForkController {
 
                        if ( !$pid ) {
                                $this->initChild();
+                               $this->childNumber = $i;
                                return 'child';
                        } else {
                                // This is the parent process