2017-06-01 31 views
0

jobを削除して完全にシャットダウンして、apschedulerの実行を停止しようとしています!python apschedulerがシャットダウンしない

それらのどれもが作業していない、私の機能expire_dataはまだ私はそれを停止するにはどうすればよい

def process_bin(value): 
    print "Stored:",pastebin.value 
    print "Will expire in",pastebin_duration.value,"seconds!" 

    if pastebin_duration>=0: 
     scheduler = BlockingScheduler() 
     job=scheduler.add_job(expire_data, 'interval', seconds=5) 
     scheduler.start() 
     job.remove() 
     scheduler.shutdown() 

def expire_data(): 
    print "Delete data!" 

を誘発しますか?

+0

にタグを付けてください*いずれか*パイソン2または3 – tambre

+0

申し訳ありませんが、固定、パイソン2.7! –

+0

問題を再現する完全な実例を貼り付けてください。 –

答えて

2

質問:私はあなたがすることはできませんので、BlockingSchedulerを使用している

を実行しているからapschedulerを停止しようとしています。

APSchedulerBlockingScheduler

BlockingSchedulerは、最も簡単なスケジューラです。
これはフォアグラウンドで実行されるため、start()を呼び出すとコールはを返しません。


読む程度Choosing the right scheduler

  • BlockingScheduler:スケジューラは
  • あなたのプロセスでBackgroundSchedulerを実行している唯一のものである場合に使用:あなたはフレームワークのいずれかを使用していない場合に使用あなたのアプリケーション内でスケジューラをバックグラウンドで実行させたい場合
  • AsyncIOScheduler:あなたのアプリケーションがイオンはasyncioモジュールを使用しています
  • GeventScheduler:アプリケーションが
  • gevent TornadoSchedulerを使用する場合は使用:使用する:あなたは
  • QtSchedulerをツイストするアプリケーションを構築している場合に使用:あなたはトルネードアプリケーションに
  • TwistedSchedulerを構築している場合に使用あなたはQtのアプリケーションを構築している場合
関連する問題