私はCatalystアプリケーションをビルドするたびに、アプリケーションが苦労して(再)開始するまでに時間がかかります。遅延は約10秒です。今日、私は遅延は以下の行によって引き起こされる考え出し:Catalystアプリケーションの再起動が遅いのはなぜですか?
use lib '/home/zoul/opt/lib/perl/5.8';
use lib '/home/zoul/opt/share/perl/5.8';
use lib '/home/zoul/opt/lib/perl/5.8.8';
use lib '/home/zoul/opt/share/perl/5.8.8';
私はそこにrootアクセス権を持って、私のPerlモジュールが~/opt
の下にインストールされていないため、これらの行のみ、サーバー上で必要とされています。 (私はApacheのSetEnv
モジュールを使用することができません。なぜなら、hosterはそれをサポートしていないからです。したがって、私はApp.pm
にライブラリパスを入力する必要があります。
私の質問:(1)回線がなぜ7秒ほど遅れるのですか? (2)これを解決する良い方法は何ですか?条件付きナイーブuse
は動作しません:
if ($on_the_hosting_machine)
{
use lib '…';
}
を私は何とかeval
をことができると思います、またはより良い方法はありますか?
はい、これはうまくいきます、ありがとうございます。 – zoul
また、PERL5LIB環境変数を使用してライブラリを設定することもできます。 – jrockway
はい、アプリケーション起動前に環境にアクセスできないと思います。 (それは私がApacheのSetEnvについて書いているので、事前に環境を設定することができました) – zoul