我的rq任务运行正常,但是没有一个函数可以让所有的工作正常工作--$pip3freeze|egrep-i"rq|redis"redis==2.10.6rq==0.12.0$flaskshellPython3.6.5(default,Apr12018,05:46:30)[GCC7.3.0]onlinuxApp:app[production]Instance:.../flask/instance>>>fromredisimportRedis>>>importrq>>>q=rq.Queue('example-rq',connection=Redis.from_url('redis://'))
我的rq任务运行正常,但是没有一个函数可以让所有的工作正常工作--$pip3freeze|egrep-i"rq|redis"redis==2.10.6rq==0.12.0$flaskshellPython3.6.5(default,Apr12018,05:46:30)[GCC7.3.0]onlinuxApp:app[production]Instance:.../flask/instance>>>fromredisimportRedis>>>importrq>>>q=rq.Queue('example-rq',connection=Redis.from_url('redis://'))
consumer.py#acceptwebsocketconnectiondefconnect(self):self.accept()#ReceivemessagefromWebSocketdefreceive(self,text_data):text_data_json=json.loads(text_data)command=text_data_json['command']job_id=text_data_json['job_id']ifcommand=='subscribe':self.subscribe(job_id)elifcommand=='unsubscribe':se
consumer.py#acceptwebsocketconnectiondefconnect(self):self.accept()#ReceivemessagefromWebSocketdefreceive(self,text_data):text_data_json=json.loads(text_data)command=text_data_json['command']job_id=text_data_json['job_id']ifcommand=='subscribe':self.subscribe(job_id)elifcommand=='unsubscribe':se
我想使用rq在单独的worker上运行任务以从测量仪器收集数据。用户按下dash应用程序上的按钮将发出任务结束信号。问题在于任务本身不知道何时终止,因为它无权访问dash应用程序的上下文。我已经使用meta将信息从工作人员传递回调用者,但我可以将信息从调用者传递给工作人员吗?示例任务:fromrqimportget_current_jobfromtimeimporttimedefmock_measurement():job=get_current_job()t_start=time()#Runthemeasurementt=[]i=[]job.meta['should_stop']=F
我想使用rq在单独的worker上运行任务以从测量仪器收集数据。用户按下dash应用程序上的按钮将发出任务结束信号。问题在于任务本身不知道何时终止,因为它无权访问dash应用程序的上下文。我已经使用meta将信息从工作人员传递回调用者,但我可以将信息从调用者传递给工作人员吗?示例任务:fromrqimportget_current_jobfromtimeimporttimedefmock_measurement():job=get_current_job()t_start=time()#Runthemeasurementt=[]i=[]job.meta['should_stop']=F
我正在尝试测试排队的Redis作业,但meta数据似乎没有在任务和发起者之间传递。job_id似乎匹配,所以我很困惑。也许一些新鲜的眼光可以帮助我解决问题:任务是asperthedocumentation:fromrqimportget_current_jobdefdo_test(word):job=get_current_job()printjob.get_id()job.meta['word']=wordjob.save()print"saved:",job.meta['word']returnTruerqworker日志保存后打印job_id和word14:32:32***Lis
我正在尝试测试排队的Redis作业,但meta数据似乎没有在任务和发起者之间传递。job_id似乎匹配,所以我很困惑。也许一些新鲜的眼光可以帮助我解决问题:任务是asperthedocumentation:fromrqimportget_current_jobdefdo_test(word):job=get_current_job()printjob.get_id()job.meta['word']=wordjob.save()print"saved:",job.meta['word']returnTruerqworker日志保存后打印job_id和word14:32:32***Lis
我几天前实现了一个作业队列,但我一直遇到重复问题,我目前正在使用Redis并遵循Laravel的官方教程。在我的例子中,每当有人访问主页时,就会向队列发送一个作业,让我们举个例子:HomeController的index():publicfunctionindex(){if(/*condition*/){//UpdateServerbeingthejob$this->dispatch(newUpdateServer());}}由于此任务大约需要10秒才能完成,如果在处理任务时有n个请求到我的主页,队列中将有n个相同的作业,导致我的数据库中出现意外结果。所以我的问题是,有什么方法可以知道
我几天前实现了一个作业队列,但我一直遇到重复问题,我目前正在使用Redis并遵循Laravel的官方教程。在我的例子中,每当有人访问主页时,就会向队列发送一个作业,让我们举个例子:HomeController的index():publicfunctionindex(){if(/*condition*/){//UpdateServerbeingthejob$this->dispatch(newUpdateServer());}}由于此任务大约需要10秒才能完成,如果在处理任务时有n个请求到我的主页,队列中将有n个相同的作业,导致我的数据库中出现意外结果。所以我的问题是,有什么方法可以知道