Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flask 获取已在执行的当前作业Id(RQ包)_Flask_Redis_Message Queue_Rq - Fatal编程技术网

Flask 获取已在执行的当前作业Id(RQ包)

Flask 获取已在执行的当前作业Id(RQ包),flask,redis,message-queue,rq,Flask,Redis,Message Queue,Rq,我正在使用Flask在繁重的视频分析代码上构建UI。我需要添加一个实现来停止后台任务。为此,我需要获取当前正在执行的作业ID,并停止它 training.py - from myproject import r, q @training.route('/projectdetails/training', methods=["GET", "POST"]) @login_required def start_training(): jobs =

我正在使用Flask在繁重的视频分析代码上构建UI。我需要添加一个实现来停止后台任务。为此,我需要获取当前正在执行的作业ID,并停止它

training.py - 

from myproject import r, q

@training.route('/projectdetails/training', methods=["GET", "POST"])
@login_required
def start_training():

    jobs = q.jobs
    message = None

    if request.args:
        # project_name = request.args.get('project')
        epoch = int(request.args.get('epoch'))

        input_videos_path = request.args.get('input_videos_path')
        checkpoints_path = request.args.get('checkpoints_path')

        video_name = request.args.get('video_name')
        video_format = request.args.get('video_format')
        video_size = request.args.get('video_size')

        task = q.enqueue(train_test, epoch, input_videos_path, checkpoints_path)
        jobs = q.jobs
        q_len = len(q)
        message = f"Task queued at {task.enqueued_at.strftime('%a %d %b %Y %H:%M:%S')}. {q_len} jobs queued."
我从中导入redis连接的初始化文件-

import redis
from rq import Queue

# redis config
r = redis.Redis()
q = Queue(connection=r)
一切都在完美运行,但我现在需要添加一个选项来停止当前正在运行的后台任务