2011-06-21 7 views
3

私はバックグラウンドのpythonスクリプトを持っています。私は単にpython foo.pyでそれを実行しています。スクリプト自体はいくつかのインポート(解析ライブラリとsqlalchemy)を行い、データベース接続を行い、解析を行い、データをdbに保存します。Pythonスクリプトを実行するために環境をロードするのはどれくらいの費用がかかりますか?

スクリプトを実行するたびにPython環境を読み込むために多くのオーバーヘッドが追加されているのでしょうか?

スクリプトを一度起動して何かをすべきかどうかを確認するためのポーリングループがありますが、これを行う価値があることを明確にしたいと考えています。

入力がありますか?

答えて

4

もちろん、オーバーヘッドが大きくなりますが、組み込みのポーリングやselect()を使用すると環境にやさしくなります。しかし、クラッシュしたかどうかを知るためのウォッチドッグや、inittabからのrespawnを使用する必要があります。サーバーの負荷が問題ない限り、それは努力する価値がないかもしれません。


あなたのスクリプトがデーモンとして実行されているときに、cronジョブで目立たないメモリリークがサーバ食いつきのモンスターになる可能性があります。それが成長しているかどうかを確認するために最初の1〜2時間注意深く見たいと思うでしょう。

+0

また、プロセスをフォークする際のOSのオーバーヘッドを考慮する必要があります。大きな古いポーリングループがはるかに効率的です。 –

+0

CGI対FCGIまたはWSGIの使用にも同様の議論が適用されます。それがあなたのために十分に速く実行されている場合、オーバーヘッドの違いはあまり重要ではありません - あなたはあなたのCO2排出量を減らすかもしれません:)あなたがI/Oバインドされている場合、 –

関連する問題