我正在实现一个谷歌应用引擎网络服务,它可以裁剪非常大的图像。但是,裁剪可能需要超过 30 秒,这(出于某种原因)对于应用程序引擎来说是一个真正的问题。为了避免这种情况,我实施了 Taskques。但是,一旦在任务队列中裁剪了图像,我想更新发出原始请求的页面,向用户显示新裁剪的图像。
所以我的问题是,是否有某种任务队列回调?还是我只需要继续轮询服务器以查看我的任务队列是否已完成?
我正在实现一个谷歌应用引擎网络服务,它可以裁剪非常大的图像。但是,裁剪可能需要超过 30 秒,这(出于某种原因)对于应用程序引擎来说是一个真正的问题。为了避免这种情况,我实施了 Taskques。但是,一旦在任务队列中裁剪了图像,我想更新发出原始请求的页面,向用户显示新裁剪的图像。
所以我的问题是,是否有某种任务队列回调?还是我只需要继续轮询服务器以查看我的任务队列是否已完成?
你可以试试Channel API。
转到此视频中的 16:00 标记(尽管我也绝对推荐前 16 分钟):http ://www.youtube.com/watch?v=AM0ZPO7-lcE
我更喜欢使用 django-celery,它更健壮,更适合处理异步任务。
它也有最终结果,默认情况下不存在,但您可以通过在设置中指定来使用它。任务完成后,您可以使用它来获取所需的任何类型的信息。在这里检查