Azure:同步卸载内存密集型任务?

Azure:同步卸载内存密集型任务?,azure,azure-queues,azure-webjobs,Azure,Azure Queues,Azure Webjobs,我正在设计一个ASP.NET web应用程序,它将托管在Azure中。我计划调整用户在服务器端上传的图像的大小。我有一个库可以做到这一点,但目前这种情况发生在主web前端VM中。我想把这个转移到一个工人虚拟机上。我了解使用队列执行此操作的模式,但在任务完成之前我不想返回给用户,因为我计划在处理完请求后显示调整大小的图像。那么,如何卸载将同步执行的任务?(这意味着在远程任务完成之前,我不会从呼叫站点返回。) 谢谢 -Ben在web服务器上保存线程通常不是一个好主意;这会对可伸缩性产生负面影响 考虑

我正在设计一个ASP.NET web应用程序,它将托管在Azure中。我计划调整用户在服务器端上传的图像的大小。我有一个库可以做到这一点,但目前这种情况发生在主web前端VM中。我想把这个转移到一个工人虚拟机上。我了解使用队列执行此操作的模式,但在任务完成之前我不想返回给用户,因为我计划在处理完请求后显示调整大小的图像。那么,如何卸载将同步执行的任务?(这意味着在远程任务完成之前,我不会从呼叫站点返回。)

谢谢


-Ben

在web服务器上保存线程通常不是一个好主意;这会对可伸缩性产生负面影响


考虑使用一个定期检查图像是否准备好显示的UI JQuery。你所要做的就是每隔一秒钟左右检查一次图像的存在。有两种方法可以做到这一点;在一个实现中,客户机提前知道图像的名称,并且只是尝试读取它(例如Blob);在另一种情况下,用户界面不知道名称,但会检查Azure表中指示映像创建状态的记录。

在web服务器上保留线程通常不是一个好主意;这会对可伸缩性产生负面影响


考虑使用一个定期检查图像是否准备好显示的UI JQuery。你所要做的就是每隔一秒钟左右检查一次图像的存在。有两种方法可以做到这一点;在一个实现中,客户机提前知道图像的名称,并且只是尝试读取它(例如Blob);在另一个示例中,UI不知道名称,但检查Azure表中指示图像创建状态的记录。

您可以执行与我们在此处的WebJobs示例中类似的操作:


我们有一个非常类似的应用程序:处理图像并在完成后显示它。为此,我们只是使用JavaScript为结果blob创建池。

您可以执行类似于我们在这里的WebJobs示例中所做的操作:


我们有一个非常类似的应用程序:处理图像并在完成后显示它。为此,我们只是使用JavaScript汇集结果blob。

谢谢Herve,除了Victor的回复,我还对您的回复进行了投票。这两个答案对我都很有帮助。谢谢Herve,除了Victor的回答,我还对你的回答投了更高的票。这两个答案对我都很有帮助。