code: function restart() {
          var deferred = Q.defer();  // resolved by the 'listening' event
          logger.log('debug', 'M|restart', meta);
          actionQueue.add({
              "action" : "restart",
              "params" : {
                  "deferred" : deferred
              }
          });
          return deferred.promise;
      }
docs: @public
  
  It Will cycle through all the worker, first by start a new worker,
  wait for it to be listening form incoming request and then make
  the "older" worker stop listening for request, finish processing the
  requests already in progress and then terminating it (the old one).
  Reperating this procedure for each worker that was running, until all
  the workers are restarted.