Example #1
0
def index(request):
    # 获得任务统计信息
    tasks = get_task()
    task_count = {
        'SUCCESS': len(tasks['SUCCESS']),
        'FAILED': len(tasks['FAILED']),
        'STARTED': len(tasks['STARTED'])
    }

    # 如果已经输入过IMEI
    if request.session.get('IMEI'):
        info = get_info(request.session.get('IMEI'))
        name = info['NickName']
        id = info['UserID']
        sex = info['Sex']
        request.session['Name'] = name
        request.session['ID'] = id
        request.session['Sex'] = sex
        message = ""
        message_run = "未进行跑步任务"
        message_schedule = "未添加定时任务"
        # 显示立刻跑步的信息
        for detail in tasks["STARTED"].values():
            # 检测等待队列,如果有则提示
            if detail['args'][3:-3] == request.session.get('IMEI'):
                message_run = "任务已经在队列中"
                # request.session['Applied'] = True

        # 显示定时跑步的信息
        try:
            task = PeriodicTask.objects.get(name=request.session.get('ID'))
            message_schedule = str(task.crontab)
        except:
            pass
        return render(
            request, 'detail.html', {
                "NickName": name,
                "TASKS": task_count,
                "MESSAGE": message,
                "APPLIED": request.session.get('Applied'),
                "MESSAGE_RUN": message_run,
                "MESSAGE_SCHEDULE": message_schedule
            })

    else:
        # 处理IMEI的POST请求
        if request.method == 'POST':
            request.session['IMEI'] = request.POST['IMEI']
            info = get_info(request.session.get('IMEI'))
            name = info['NickName']
            return render(request, 'detail.html', {
                "NickName": name,
                "TASKS": task_count
            })
        # 第一次访问要求输入IMEI
        return render(request, 'index.html')
Example #2
0
def start_run(request):
    tasks = get_task()
    # 检测有没有跑过的标记
    message = ""
    flag = True
    # if not request.session.get('Applied'):
    #     # 如果没有就标记上,然后开始跑步
    #     request.session['Applied'] = True
    #     run.delay(request.session.get('IMEI'))
    #     message = "跑步成功!"
    # else:
    for detail in tasks["STARTED"].values():
        # 如果在队列中检测到对应的任务,就显示已经跑过了
        print detail['args']
        if detail['args'][3:-3] == request.session.get('IMEI'):
            message = "现在正在队列中哦,不要着急"
            flag = False
    if flag:
        run.delay(request.session.get('IMEI'))
        message = "跑步成功!"
    return render(request, 'result.html', {"Message": message})