Catalystアプリケーションをビルドするたびに、アプリケーションの(再)起動が非常に遅くなるまでになります。遅延は約10秒です。今日、私は遅延が次の行によって引き起こされていると考えました:
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
モジュールは、ホスティング業者がサポートしていないため使用できません。したがって、ライブラリパスをに入力する必要がありますApp.pm
。)ひどい遅延を示す開発マシンには、パスが存在しません。
私の質問:(1)なぜ回線が非常に多くの遅延(約7秒)を引き起こすのですか?(2)これを解決するための良い方法は何ですか?ナイーブ条件use
は機能しません:
if ($on_the_hosting_machine)
{
use lib '…';
}
どういうわけか私はできると思いeval
ますか、それとももっと良い方法がありますか?