Pythonの開発は、いくつかの方法で遅延動作を実現--Python

1. time.sleep

2. sched.scheduler

3. threading.Timer

他のプログラムと4

    セロリ

 Redisの遅延キューイング 

日常の開発では、多くの場合、このような需要が発生し、一定期間後に特定の効果を達成するために一つだけの機能を実行することが必要です。この時点で、我々は、関数の実装を遅らせるためのメカニズムのいくつかの並べ替えを必要とします。そして、簡単にこれらの効果を達成する2つの方法を説明します。
schedの
    
インポートSCHED、時間
DEF FUNC(A):
  プリントtime.time(),, "!こんにちは日程" 
プリントtime.time()
S = sched.scheduler (time.time、time.sleep)
#2の遅延時間であり、1が優先され、funcがパラメータの関数として( "TEST1")、関数名
s.enter(2,1、FUNC、( " TEST1"、 ))
s.enter(2,0、FUNC、( "TEST2"は、))
s.run() 
)(time.time を印刷し

、次の出力:

    1519443179.4 
    !1519443181.4こんにちはTEST2日程を
    !1519443181.4こんにちはTEST1日程が
    1519443181.4 

結果から分かります同じの実装は2S、およびtest2はtest1により高い優先度であるため、アウト、2sが、本当に最初の実装よりも、TEST1とTEST2遅れた機能を実行する

タイマー
    
インポートスレッディング、時間
DEF FUNCを(A):
  time.time印刷()、 "タイマーこんにちは!"、
印刷time.time()
S = Threading.Timer(2、FUNC、( "テスト"、))
s.start() 
)(time.time を印刷

出力次のように:

    1,519,443,055.69 
    1,519,443,055.69 
    !1,519,443,057.69こんにちはテストタイマーは

2S機能が実際に実行を遅らせ、結果から見ることができます。

2つの出力の方法の結果から分かるように、タイマーが非同期で実行され、次のコードを実行詰まっていないが、実行がダウン完了するまでschedの機能が実行されるまで待機します。

 

いくつかの参照:https://www.jianshu.com/p/944ae43e2662

https://www.jianshu.com/p/a8c1458998aa

https://segmentfault.com/a/1190000010021748

https://tech.youzan.com/queuing_delay/

 

おすすめ

転載: www.cnblogs.com/hellojesson/p/11547014.html