2017-12-20 14 views
0

コンソール、ジェネレータ、dbconsole、test、destroy、runner、rakeコマンドが実行されていないときにのみ、FTPリスナークラスを実行します。rails 5サーバーの起動後にのみスクリプトを実行する

defined? Rails::Generatorsのようなチェックを使って、レール3と4で同じことをしている人がいますが、レール5で動作させることができません。定義されたチェックでは何も返しません。

答えて

1

config.ruファイルはWebサーバでのみ使用され、コンソールスクリプト、レーキタスク、またはテストスイートによってロードされません。あなたがそこに置くのは、サーバーインスタンスが起動したときにのみ実行されます。

Webサーバー自体にもこれを行う方法があります。たとえば、Pumaを使用するときは、on_worker_bootまたはafter_worker_bootのようなフックがあります(http://www.rubydoc.info/github/puma/puma/Puma/Configuration/DSL)。

しかし、これを配備されたサーバー環境とRailsアプリケーションに統合することをお勧めします。

+0

@Christophに返信していただきありがとうございます。レールサーバーではなくサーバー環境で統合する方がいい理由を説明してください。 – Subash

+0

懸念の分離、あなたはすでにRailsアプリケーションが両方を行っているときの問題について記述しています。デプロイメントによっては、アプリサーバーが5人のように動作することがあります。つまり、5つのFTPリスナーを実行していることになります。長期的には、アプリケーションの規模を拡大したい場合は、アプリケーションサーバーをFTPリスナーとは別のサーバーインスタンスに移動します。 –

関連する問題