我在执行一些长时间运行的计算的应用程序中使用烧瓶。我已使用此代码成功地将计算密集型代码卸载到 rq 工作人员
job = q.enqueue(run_simulation)
紧随其后的是以下代码:
while not job.is_finished:
time.sleep(1)
job.refresh()
print(job.meta)
该run_simulation
代码使用 job.meta 更新其进度,如下所示:
while still_stuff_to_do:
job = get_current_job()
job.meta['progress'] = percent_complete
job.save_meta()
do_more_stuff...
到目前为止所描述的一切都按预期工作。在控制台中,我每秒打印一次 percent_complete。
我想要的用户体验是,一旦计算密集型作业开始,我想弹出一个带有进度条(使用引导程序)和取消按钮的模式对话框。进度条应该每秒更新一次进度指示器。我想要一个解决这个问题的简单方法的建议。具体来说,我不明白执行模型应该是什么。