在rails上使用ruby服务的最佳方法是什么?

时间:2009-03-29 12:11:35

标签: ruby-on-rails ruby service rake

我需要运行ruby脚本作为服务。该脚本需要访问rails-app的ActiveRecords。

最好的方法是什么?一个耙子任务?它如何在Windows和Linux上作为服务启动?

3 个答案:

答案 0 :(得分:2)

这个Stackoverflow线程似乎对如何在Windows上运行Ruby作为服务有一个很好的答案:Running a Ruby Program as a Windows Service?

以下是如何在rails之外实例化ActiveRecord:http://www.juixe.com/techknow/index.php/2009/01/14/activerecord-ruby-on-rails-optional/

如果您想使用与Rails应用程序相同的模型,则可以要求它们。

以下是控制台中的示例:

irb(main):001:0> require 'ActiveRecord'
=> true
irb(main):002:0>     ActiveRecord::Base.establish_connection(
irb(main):003:1*       :adapter => 'mysql',
irb(main):004:1*       :database => 'development',
irb(main):005:1*       :username => 'root',
irb(main):006:1*       :password => '',
irb(main):007:1*       :host => 'localhost'
irb(main):008:1>     )
=> #<ActiveRecord::ConnectionAdapters::ConnectionPool:0x59613
irb(main):009:0> require 'app/models/User.rb'
=> ["User"]
irb(main):010:0> User.find(1)
=> #<User id: 1, first_name: "Michael">
祝你好运!

答案 1 :(得分:1)

我想说如果只是一个脚本作为服务,也许可能是一个Sinatra应用程序。

答案 2 :(得分:0)

我会选择a custom daemon