问题描述
我使用Python Flask + Redis,并使用以下代码将作业排入redis队列:
with Connection(redis.from_url("redis://localhost:6379")):
queue = Queue()
task = queue.enqueue(self.redis_method,job_timeout=86400,result_ttl=604800,failure_ttl=604800)
response_object = {"status": "success","data": {"task_id": task.get_id()}}
return response_object
工作正在排队,执行开始,我得到排队工作的Job-id。并使用下面的代码杀死Job,但即使在执行下面的代码后执行也不会停止
cancel_job(job_id=job_id,connection= redis.from_url("redis://localhost:6379"))
任何帮助表示赞赏。在此先感谢〜
解决方法
cancel_job
从队列中删除作业。如果它已经在执行过程中,你必须杀死这个工人。
from rq.command import send_kill_horse_command
send_kill_horse_command(connection,worker_name)