2012-04-17 13 views
0

IIS(7.5、Windows Server 2008 R2)でホストされているサイトがあります。サイト自体はDjango(Python)に基づいており、Celeryを非同期タスク処理に使用しています。セロリは、タスク処理(celeryd、celerycam、celerybeat)の前にいくつかのことを開始する必要があり、それらを開始するサービスを作成しました。サービスコントロールパネルで自動的に開始するように設定されています。IISサイトがサービスを待つ必要がある方法

サーバーの再起動(自動更新など)後、Celeryサービスが起動していないか、タイミングに問題があり、自分のサイトに依存しないそれ。これらの作業がなければ、サイトは基本的に役に立たないので、サイトが利用可能になる前に、それらが実行されていることを確認する方法を見つける必要があります。

私はすべてのIISをこのサービスに依存させないようにしたいと思います。問題の1つのサイト(私は、サービスを必要としない別のポートでそこにホストされているいくつかのサイトを持っています)。

答えて

0

私の意見では、アプリケーションを変更して、セロリのサービスに接続できないときはソフトに失敗するようにすることをお勧めします。私。ユーザーに有益なエラーメッセージを表示し、再試行するオプションを与えます。

サービスの開始順序に依存するようにすることは悪い設計です。セロリのサービスが何らかの理由で失敗したらどうしますか?ところで、データベース接続/クエリでも同じことが起こります。あなたのコードは常に失敗/エラーを正常に処理する必要があります。

関連する問題