code: def run(self, host=None, port=None, debug=None, **options):
          
  
          tasks = options.get('tasks', [])
          for task in tasks:
              if task is not None and hasattr(task, '__call__'):
                  _batch_tasks.append(task)
  
          thread = Thread(target=self.batch_work)
          thread.start()
  
          try:
              super(AgoraApp, self).run(host='0.0.0.0', port=self.config['PORT'], debug=True, use_reloader=False)
          except Exception, e:
              print e.message
          self._stop_event.set()
          if thread.isAlive():
              thread.join()
docs: Start the AgoraApp expecting the provided config to have at least REDIS and PORT fields.