获取已经在执行的当前作业 IDRQ 包

问题描述

我正在使用 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."

我的 init 文件我从 -

导入 redis 连接
import redis
from rq import Queue

# redis config
r = redis.Redis()
q = Queue(connection=r)

一切都运行良好,但我现在需要添加一个选项来停止当前正在运行的后台任务。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)