2016-05-06 4 views
0

cronジョブを使わずに5分ごとに関数を実行したいとします。django-background-taskを使ってタイムループに関数を入れることは可能ですか?

実際にその関数を呼び出すdjangoのバックグラウンドタスクを作成し、その関数の最後にschedule = say * 5のタスクを作成します。

これは、効果的に時間ベースのループに関数を置きます。

私はいくつかの反復を試みましたが、インポートエラーが発生しています。しかし、それは可能かどうか?

答えて

3

いいえどのような場合でも、djangoで周期的なインポートの問題を効果的に作成することはできません。タスクでは、その関数をインポートする必要があり、その関数のファイルでタスクをインポートする必要があるためです。

どのような戦略をとっても、同じ問題に陥ることはありません。

2

私は何かを作った。これをお探しですか?

import threading 
import time 

def worker(): 
    """do your stuff""" 
    return 

threads = list() 
while (true): 
    time.sleep(300) 
    t = threading.Thread(target=worker) 
    threads.append(t) 
    t.start() 
+0

はい、これは私もcronジョブを設定して行うことができ、目的を果たすかもしれませんが、私は、バックグラウンドタスク – Rohit

+0

@Rohitでループを作成する方法について、実際に興味がありました。スレッドを使用しているため、並列処理を使用できます。つまり、このループを別の関数のスレッドとして呼び出すことができます。 –

関連する問題