예제 #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({})
예제 #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({})
예제 #3
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({})