0

私はこのレシピを使用しています:Ubuntuサーバーでhttp://code.activestate.com/recipes/278731/ 。

私はこのようなデーモンインスタンスを作成します:

class MyDaemon(Daemon):
    def run(self):
        while True:
            try:      
                do_my_data_processing()
            except MySQLdb.OperationalError:
                # Sleep an extra 30 seconds if database is away.
                time.sleep(30)
            time.sleep(30)

問題は、スリープ中であっても、デーモンが利用可能なCPUパワーのほとんどすべてを消費することです。

私は何が間違っているのですか?

4

2 に答える 2

3

投稿されたコードは正しいようです。エラーは別の場所にあるはずです。ステートメントをループに入れてprint、それが確実にスリープするようにします。

于 2009-11-02T13:24:55.830 に答える
0

デーモンがスリープしていないことが判明しました。各ターンの間に 30 秒間スリープせずにループしていました。ありがとうアーロン。

コードを次のように変更して修正しました。

class MyDaemon(Daemon):
    def run(self):
        while True:
            try:      
                do_my_data_processing()
                time.sleep(30)
            except MySQLdb.OperationalError:
                # Sleep an extra 30 seconds if database is away.
                time.sleep(30)
于 2009-11-02T13:47:39.910 に答える