Start the AgoraApp expecting the provided config to have at least REDIS and PORT fields.

def run(self, host=None, port=None, debug=None, **options):
        """
        Start the AgoraApp expecting the provided config to have at least REDIS and PORT fields.
        """

        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()