Exemplo n.º 1
0
def start_forced_fap(fap):
    SchedulerState.clear_user_app_queue()
    SchedulerState.set_app_started_at()
    name = fap['name']
    params = fap['params']

    app = {
        'name': name,
        'username': '******',
        'userid': '>>>>FORCED<<<<',
        'params': fap['params'],
        'task_id': start_forced_fap.request.id,
        'last_alive': time.time(),
        'started_at': datetime.datetime.utcnow().isoformat(),
        'is_default': False,
        'is_forced': True,
        'expire_at':
        str(datetime.datetime.utcnow() + datetime.timedelta(weeks=52))
    }
    SchedulerState.set_current_app(app)
    SchedulerState.set_event_lock(False)
    fap = globals()[name](app['username'], app['userid'])
    try:
        fap.run(params=params)
        return True
    finally:
        fap.close()
        redis.set(SchedulerState.KEY_FORCED_APP, 'False')
        SchedulerState.set_current_app({})
Exemplo n.º 2
0
def start_default_fap(app):
    SchedulerState.set_app_started_at()
    # app['expire_at'] = str(
    #     datetime.datetime.utcnow())
    if 'params' not in app:
        app['params'] = {}
    app['expire_at'] = str(datetime.datetime.utcnow() +
                           datetime.timedelta(seconds=app['expires']))

    params = app['default_params'].copy()
    params.update(app['params'])

    app['task_id'] = start_default_fap.request.id
    app['is_default'] = True
    app['is_forced'] = False
    app['last_alive'] = time.time()
    app['username'] = '******'
    app['userid'] = '>>>default<<<'
    app['started_at'] = datetime.datetime.utcnow().isoformat()

    SchedulerState.set_current_app(app)
    SchedulerState.set_event_lock(False)
    fap = globals()[app['name']](app['username'], app['userid'])
    try:
        fap.run(params=params)
    finally:
        fap.close()
        SchedulerState.set_current_app({})
Exemplo n.º 3
0
    def stop_app(self, c_app, stop_code=None, stop_message=None):
        # flask_log(" ========= STOP_APP ====================")
        if not c_app or 'task_id' not in c_app:
            print_flush('Cannot stop invalid app')
            return

        from tasks.celery import app
        if not c_app.get('is_default', False) and not c_app.get('is_forced', False):
            if stop_code and stop_message and 'userid' in c_app:
                Websock.send_data(stop_code, stop_message, c_app['username'], c_app['userid'])

        app.control.revoke(c_app['task_id'], terminate=True)
        self.frontage.fade_out()
        SchedulerState.set_current_app({})
Exemplo n.º 4
0
def start_fap(app):
    SchedulerState.set_app_started_at()
    app['expire_at'] = str(datetime.datetime.utcnow() +
                           datetime.timedelta(seconds=app['expires']))
    app['is_default'] = False
    app['is_forced'] = False
    app['task_id'] = start_fap.request.id
    app['started_at'] = datetime.datetime.utcnow().isoformat()
    SchedulerState.pop_user_app_queue()
    SchedulerState.set_current_app(app)
    SchedulerState.set_event_lock(False)
    fap = globals()[app['name']](app['username'], app['userid'])

    try:
        fap.run(params=app['params'], expires_at=app['expire_at'])
    finally:
        fap.close()
        SchedulerState.set_current_app({})
Exemplo n.º 5
0
def clear_all_task():
    celery.control.purge()
    SchedulerState.set_current_app({})
    SchedulerState.set_event_lock(False)