 class CommandDispatch
   @ALL_JOBS: ['Authenticate', 'SubscriptionList', 'Idle']
 
+  parseInt: (int) =>
+    parseInt int
+
   parseList: (val) =>
     val.split ','
 

      .option '-i, --internal-namespace <meshblu:internal>', 'job handler queue namespace.', 'meshblu:internal'
      .option '-o, --outsource-jobs <job1,job2>', 'jobs for external workers', @parseList
      .option '-s, --single-run', 'perform only one job.'
      .option '-t, --timeout <30>', 'seconds to wait for a next job.', parseInt, 30
      .parse process.argv

    {@namespace,@internalNamespace,@outsourceJobs,@singleRun,@timeout} = commander

      cacheFactory:     new CacheFactory client: redis.createClient(@redisUri)
      datastoreFactory: new DatastoreFactory database: mongojs(@mongoDBUri)

    async.parallel [
      async.apply dispatcher.dispatch
      async.apply queueWorker.run
    ], callback

  assembleJobHandlers: =>
    jobAssembler = new JobAssembler
