1

ruby-script をサービスとして実行する必要があります。スクリプトは、rails-app の ActiveRecords にアクセスする必要があります。

最善の方法は何ですか?レーキタスク?Windows と Linux の両方でサービスとして開始するにはどうすればよいですか?

4

3 に答える 3

2

この Stackoverflow スレッドには、Ruby を Windows 上のサービスとして実行する方法に関する適切な回答があるようです: Running a Ruby Program as a Windows Service?

レールの外で ActiveRecord をインスタンス化する方法は次のとおりです

Rails アプリケーションと同じモデルを使用したい場合は、require できます。

コンソールの例を次に示します。

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">

幸運を!

于 2009-03-29T19:21:03.420 に答える
1

サービスとしてのスクリプトが 1 つだけの場合は、Sinatra アプリが適していると思います。

于 2009-03-29T12:17:05.357 に答える
0

カスタムデーモンを使用します

于 2009-03-31T08:21:37.390 に答える