Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在RubyonRails中,延迟的作业完成后,如何进行ajax回调?_Ruby On Rails_Ajax_Callback_Heroku_Delayed Job - Fatal编程技术网

Ruby on rails 在RubyonRails中,延迟的作业完成后,如何进行ajax回调?

Ruby on rails 在RubyonRails中,延迟的作业完成后,如何进行ajax回调?,ruby-on-rails,ajax,callback,heroku,delayed-job,Ruby On Rails,Ajax,Callback,Heroku,Delayed Job,我允许我网站上的用户旋转他们的照片。我通过ajax调用延迟的_作业进程(通过Heroku)来实现这一点,该进程旋转照片。按下“旋转照片”后,我显示一个加载微调器。但我的问题是:对于我的页面来说,什么是最好的方式来知道延迟的任务何时完成,以便我可以加载新照片 我是否需要对服务器进行连续的ajax轮询以确定延迟的作业是否完成?或者有什么方法可以实现对页面的ajax回调,在延迟的作业完成时通知页面 提前谢谢。有很多方法可以处理这种事情。您可以像前面提到的那样进行ajax轮询,您可以使用这样的方法,在服

我允许我网站上的用户旋转他们的照片。我通过ajax调用延迟的_作业进程(通过Heroku)来实现这一点,该进程旋转照片。按下“旋转照片”后,我显示一个加载微调器。但我的问题是:对于我的页面来说,什么是最好的方式来知道延迟的任务何时完成,以便我可以加载新照片

我是否需要对服务器进行连续的ajax轮询以确定延迟的作业是否完成?或者有什么方法可以实现对页面的ajax回调,在延迟的作业完成时通知页面


提前谢谢。

有很多方法可以处理这种事情。您可以像前面提到的那样进行ajax轮询,您可以使用这样的方法,在服务器上的任何连接都完成之前,您基本上保持连接打开,或者您甚至可以全力以赴地使用它(不过对于这项任务来说可能有点过分)

如果没有套接字,当前无法让服务器向客户端发送消息,而客户端不请求消息


在任何情况下,您都应该决定是否需要或想要对任务进行后台处理,以保证处理轮询/comet/套接字的所有额外工作。旋转图像应该不会花费很长时间。根据您是否能够锁定服务器进程,只在前台进行图像处理(而不是延迟任务)会简单得多。然后,当对该操作的ajax请求完成时,您就知道任务已经完成。

您真的需要使用延迟作业来旋转单个图像吗?可能不需要,因此这绝对是一个考虑因素。