Ruby on rails 使MiniMagick例程尽可能在Ruby/Rails上运行?

Ruby on rails 使MiniMagick例程尽可能在Ruby/Rails上运行?,ruby-on-rails,ruby,ruby-on-rails-3,imagemagick,Ruby On Rails,Ruby,Ruby On Rails 3,Imagemagick,下面的代码只是将给定的字符串写入存储到文件系统的现有图像。就图像处理而言,它并不十分复杂。然而,调用MiniMagick显然会产生一些开销。此外,此例程将被频繁调用,因此需要尽快完成 除了将映像缓存到磁盘,我使用rails/ruby还有哪些选项可以确保此代码以最高性能运行 variable = "some string" mm = MiniMagick::Image.open("#{Rails.root}/app/assets/images/b.png") mm.combine_optio

下面的代码只是将给定的字符串写入存储到文件系统的现有图像。就图像处理而言,它并不十分复杂。然而,调用MiniMagick显然会产生一些开销。此外,此例程将被频繁调用,因此需要尽快完成

除了将映像缓存到磁盘,我使用rails/ruby还有哪些选项可以确保此代码以最高性能运行

variable = "some string"

mm = MiniMagick::Image.open("#{Rails.root}/app/assets/images/b.png")
  mm.combine_options do |c| 
    c.gravity 'center' 
    c.pointsize '13' 
    c.draw "text 33,0 '#{variable}'" 
  end

 send_data(mm.to_blob, :type => 'image/png', :disposition => 'inline'

图像处理的标准方法是在后台进行——用户上传图像(可能直接上传到S3),然后服务器在后台处理图像缩略图

这使应用程序尽可能快。这是一种使用resque在后台处理载波上载的方法:


然后,您可以将此图像处理作为一个步骤移动到载波,您就可以开始了

您是否试图使来自客户端的HTTP调用尽可能快地返回?还是你想让这个程序尽可能快地运行?@Jessewlgamot问得好。实际上两者都有,但这里的重点是图像处理。但无论在协议层面上做什么调整,都会带来巨大的好处不幸的是,这个过程必须停留在请求/响应周期内,因为结果必须立即显示。这就是我问这个问题的原因。任何可以做的事都可以。明智的假设例程不能用Resque卸载?