示例#1
0
def test_enqueue_stat_calc_fail():
    stat_id = CFG['STAT_CALC_FN']
    qeez_token = get_token()

    job = queues.enqueue_stat_calc(stat_id, qeez_token, redis_conn=None)
    assert isinstance(job, Job)

    job = queues.enqueue_stat_calc(stat_id,
                                   qeez_token,
                                   redis_conn=get_redis(CFG['SAVE_REDIS']))
    assert isinstance(job, Job)
示例#2
0
def test_pull_all_stat_no_res():
    stat_id = CFG['STAT_CALC_FN'] + '2'

    job = queues.enqueue_stat_calc(stat_id, get_token(), redis_conn=None)
    assert isinstance(job, Job)
    assert job.id

    assert queues.pull_all_stat_res(stat_id, redis_conn=None) is None
示例#3
0
def stats_proc_enq(stat=None, qeez_token=None):
    '''PUT view to enqueue selected stat processing
    '''
    checksum = calc_checksum(request.data)
    job = enqueue_stat_calc(stat, qeez_token, redis_conn=get_queue_redis())
    return _json_response({
        'error': False,
        'checksum': checksum,
        'job_id': job.id,
    })
示例#4
0
def stats_proc_enq(stat=None, qeez_token=None):
    '''PUT view to enqueue selected stat processing
    '''
    checksum = calc_checksum(request.data)
    job = enqueue_stat_calc(stat, qeez_token, redis_conn=get_queue_redis())
    return _json_response({
        'error': False,
        'checksum': checksum,
        'job_id': job.id,
    })
示例#5
0
def _process_data(req, qeez_token, multi_data=None, stat=None):
    '''Processes data packets, returns response objects
    '''
    if not req.json:
        return bad_request(None)
    _json = req.get_json()
    if multi_data is True:
        json_data = _json
    else:
        json_data = [_json]
    checksum = calc_checksum(req.data)
    if _save_data(qeez_token, json_data, sync=('sync' in req.args)):
        resp = {'error': False, 'checksum': checksum}
        if stat is not None:
            job = enqueue_stat_calc(stat,
                                    qeez_token,
                                    redis_conn=get_queue_redis())
            resp['job_id'] = job.id
        return _json_response(resp)
    return bad_request(None)
示例#6
0
def test_pull_stat_res_ok():
    from qeez_stats.utils import save_packets_to_stat
    stat_id = CFG['STAT_CALC_FN']
    qeez_token = get_token()
    res_dc = {
        b'7:6:5:4:3:2:1': b'2,3,1:6.5:4',
        b'1:2:3:4:5:6:7': b'1:2:3',
    }
    save_packets_to_stat(qeez_token, res_dc, redis_conn=None)

    job = queues.enqueue_stat_calc(stat_id, qeez_token, redis_conn=None)
    assert isinstance(job, Job)
    assert job.id

    queue = Queue(name=job.origin, connection=job.connection)
    worker = SimpleWorker([queue], connection=queue.connection)
    worker.work(burst=True)

    res = queues.pull_stat_res(stat_id, qeez_token, redis_conn=None)
    assert isinstance(res, float)
    assert res == 123.1
示例#7
0
def _process_data(req, qeez_token, multi_data=None, stat=None):
    '''Processes data packets, returns response objects
    '''
    if not req.json:
        return bad_request(None)
    _json = req.get_json()
    if multi_data is True:
        json_data = _json
    else:
        json_data = [_json]
    checksum = calc_checksum(req.data)
    if _save_data(qeez_token, json_data):
        resp = {
            'error': False,
            'checksum': checksum}
        if stat is not None:
            job = enqueue_stat_calc(
                stat, qeez_token, redis_conn=get_queue_redis())
            resp['job_id'] = job.id
        return _json_response(resp)
    return bad_request(None)