Django アプリケーションのメソッドを 60 秒ごとに定期的に呼び出したいと考えています。これは非常に単純な作業であり、Timer
. ここに私のコードがあり、それは__init__.py
私のアプリの1つにあります:
from threading import Timer
def hello():
print "xxx"
Timer(60, hello).start()
Timer(60, hello).start()
このコードは、Django がアプリをインポートするときに呼び出されます。
これは、runserver
コマンドを実行すると正常に動作するように見えます.60秒ごとに2行のコンソール出力が表示され続けるため、この開始の2つのインスタンスが実行されているようです. これは、run server コマンドが複数のプロセス/スレッドを実行するためだと思いますが、正しいですか?
一度にタイマーのインスタンスのみが実行されるようにするにはどうすればよいですか?