Tag: 背景

Rails执行脚本作为后台作业

我有一个ruby脚本,已经作为一个独立的function实现。 现在我想在我的rails环境中执行这个脚本,增加了将其作为后台作业执行的难度,因为它需要大量的时间处理。 添加delayed_job gem之后,我试着调用以下句子: delay.system(“ruby my_script.rb”) 这是我得到的错误: Completed 500 Internal Server Error in 95ms TypeError (can’t dump anonymous module: #): app/controllers/components_controller.rb:49:in `create’

不同的页面的不同的背景颜色在路轨

所以我使用的是application.html.erb文件,它基本上是我网站中每个页面的布局。 但我希望主页有白色背景,其余页面有不同的背景。 问题是,如果我将整个主页文件包装在div中,它只包装“yield”位置,因此它显示为带有灰色背景的较大框内的白色背景的框。 那么如何更改主页的整个背景并保留其余部分呢? 谢谢!

使用Capistrano开始后台任务

对于我的RubyOnRails-App,我必须在Capistrano部署结束时开始后台工作。 为此,我在deploy.rb中尝试了以下内容: run “nohup #{current_path}/script/runner -e production ‘Scheduler.start’ &”, :pty => true 有时它可以工作,但大多数情况下它不会启动过程(=未在ps -aux中列出)。 并且没有错误消息。 没有nohup.out,不在主目录中,也不在rails app目录中。 我尝试在scheduler.rb中使用trap(’SIGHUP’,’IGNORE’)而不是nohup,但结果是一样的。 让它工作的唯一方法是删除“:pty => true”并在“cap deploy”结束时执行手动Ctrl-C。 但我不喜欢这个…… 还有其他机会调用此Scheduler.start吗? 或者获取更多错误消息? 我在服务器上使用Rails 2.3.2,Capistrano 2.5.8,Ubuntu Hardy

在服务器进程中创建工作线程是一个坏主意吗?

我的服务器进程基本上是一个响应REST请求的API。 其中一些请求用于启动长时间运行的任务。 做这样的事情是个坏主意吗? get “/crawl_the_web” do Thread.new do Crawler.new # this will take many many days to complete end end get “/status” do “going well” # this can be run while there are active Crawler threads end 服务器每天不会处理超过1000个请求。

在Sinatra中运行后台进程

我有Sinatra / Rails应用程序和一个开始一些漫长过程的动作。 普通的我为后台工作排队。 但是这种情况太简单了,后台进程很少开始,所以队列是开销。 那么如何在没有队列的情况下运行后台进程? get “/build_logs/:project” do LogBuilder.new(params[:project]).generate “done” end 我试图将它作为一个新的Thread或Process fork,但它没有帮助。

什么是启动后台进程的最佳方法,可以在以后访问

我目前正在开发一个提供可执行文件的RubyGem。 可执行文件使用FSSM gem跟踪某些日志文件的状态。 这个可执行文件应该开始,在后台执行某些操作,并在以后停止。 例如: $ my_executable start # do something different… $ my_executable stop 我首先会在start方法中启动一个新进程,即查看文件。 但我不知道如何解决这个停止它的过程。 提供这种行为的最佳方式是什么? 问候

在开发模式下重新激活多个worker

嗨,是否有可能在开发过程中同时运行多个Resque工作人员? 我找到了这段代码,但不确定它是否会起作用以及如何… http://pastebin.com/9GKk8GwR 到目前为止,我正在使用该标准 bundle exec env rake resque:work QUEUE=’*’ redis-server /usr/local/etc/redis.conf

使用rails计划任务

我一直在讨论rails调度任务选项,偶尔发现这段代码。 case @environment when ‘production’ every 1.day, :at => “#{Time.parse(’12:00 A’).getlocal.strftime(“%H:%M”)}” do runner “Company.send_later(:create_daily_stories!)” end when ‘staging’ every 15.minutes do command “thinking_sphinx_searchd reindex” end end 我对ruby很新,我不太明白这里的“公司”代表什么。 换句话说,我想发送一封电子邮件给人们,我有一个名为email_controller的控制器类,我有一个名为sendEmail的方法,我想用这个发送电子邮件,我该怎么做? 我应该说跑步者“email_controller.sendEmail”或类似的东西? 我不太明白。 注 – 我是否使用模型或控制器代替公司?

什么是Rails最好的后台作业管理库?

自从我上次在Rails中使用背景以来已经有一段时间了。 我之前使用过backgroundrb和bj。 还有什么能更好地管理后台任务吗?

使用Rails运行多个后台并行作业

在我的Ruby on Rails应用程序上,我需要并行执行50个后台作业。 每个作业都创建到不同服务器的TCP连接,定义一些数据并更新活动记录对象。 我知道执行此任务的不同解决方案,但它们中的任何一个并行。 例如,如果只有并行执行所有作业,delayed_job(DJ)可能是一个很好的解决方案。 有任何想法吗? 谢谢。