2017-07-27 3 views
-1

呼ば取得されていない私はのようなコードの部分を持っているがのpython:threading.Timerは、指定時間後に

class Job(): 
    def start(): 
    from threading import Timer 
    t = Timer(10.0, self.cancel) 
    t.start() 
    self.status = "Started" 
    submitChildTasks() #----> Submits child celery tasks 

次ジョブ・インスタンス自体は、セロリの作業であり、複数の子セロリのタスクを持つことができます。私はジョブとそのすべての子タスクをキャンセルする必要があります。そのために私はcancelを実行する必要があります。私はすぐにJob.start()が終了すると思われるtが死んでいる。それを扱う方法はありますか?私は 't'がcancelを実行するのを待っている間に子タスクも実行したいと思っています。 しかし、cancelは呼び出されません。私が間違っていることは何ですか?

ご指摘いただきありがとうございます。前もって感謝します。あなたは、私が主にコードでこのコードを追加したすべてのコードを投稿していなかったので

+0

コードが正常に動作しています!より詳細な情報を提供できますか? –

答えて

0

あなたは予想通り、このコードは、タイマーで10秒を待ちます

from threading import Timer 

def cancel(): 
    print 'cancel called' 

t = Timer(10.0, cancel) 
t.start() 

投稿しませんでした。多分、欠けているクラスに関連する問題でしょうか?これがまだ役に立たない場合は、コードを追加してください。

関連する問題