Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.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 在页面生成并发送给用户之后,最简单的方法是执行某些操作_Ruby On Rails - Fatal编程技术网

Ruby on rails 在页面生成并发送给用户之后,最简单的方法是执行某些操作

Ruby on rails 在页面生成并发送给用户之后,最简单的方法是执行某些操作,ruby-on-rails,Ruby On Rails,在页面生成并发送给用户之后,我需要进行一些图像处理(这可能需要很长时间)。此作业完成时不让用户等待。大概是这样的: if @post.save! redirect_to :action => :index # Now user is redirected and don't need to wait # doing job in a background do_image_manipulation end 我希望避免后台监控。不确定这是否可以在不运行某种处

在页面生成并发送给用户之后,我需要进行一些图像处理(这可能需要很长时间)。此作业完成时不让用户等待。大概是这样的:

if @post.save!
    redirect_to :action => :index
    # Now user is redirected and don't need to wait
    # doing job in a background
    do_image_manipulation
end

我希望避免后台监控。

不确定这是否可以在不运行某种处理后台程序的情况下完成。您是否看过或?

不确定这是否可以在不运行某种处理守护程序的情况下完成。你看过吗?

可能是最简单的事情:

if @post.save!
    @post.delay.do_image_manipulation
    redirect_to :action => :index
end
之后将处理实际的
do\u image\u manipulation
调用。这涉及到各种各样的守护进程(只是一个不断运行的rake任务),但您不必自己处理细节,只需将一个
。延迟
放在正确的位置,延迟的作业就可以处理繁重的工作。

可能是最简单的事情:

if @post.save!
    @post.delay.do_image_manipulation
    redirect_to :action => :index
end

之后将处理实际的
do\u image\u manipulation
调用。这涉及到各种各样的守护进程(只是一个不断运行的rake任务),但您不必自己处理细节,只需在正确的位置粘贴一个
。delay
,Delayed Job负责繁重的工作。

您可以尝试使用线程。只需渲染视图,然后生成一个新线程

您可以尝试使用线程。只需渲染视图,然后生成一个新线程