2016-10-04 67 views
1

如何暫停此線程每300秒運行500秒?我需要暫停它每x分鐘運行所有的功能,以防止API違規。計時器對象似乎只啓動代碼,而目標是暫停,等待,恢復。x分鐘後如何暫停此線程

from TwitterFollowBot import TwitterBot 
from threading import Thread 
import random 

my_bot = TwitterBot() 
my_bot.sync_follows() 


def a(): 
    my_bot.auto_fav("@asco", count=1000) 

def b(): 
    my_bot.auto_fav("ATSO", count=1000) 

def c(): 
    my_bot.auto_fav("BCY3", count=1000) 

lof = [a, b, c] 
random.shuffle(lof) 

for z in lof: 
    Thread(target=z).start() 

貸款給@ Farhan.K協助代碼。

+0

https://docs.python.org/2/library/threading.html#timer-objects – Natecat

+0

這似乎只是啓動代碼。我需要打斷它,等待並恢復。我誤解了文檔嗎? –

+0

你不能暫停線程。線程中的代碼可能會暫停自己,但我想這將是一個關於'TwitterBot' API的問題,而不是關於線程。 – tdelaney

回答

1

可能是這樣的你的線程?

import time 


def sleep_thread(sleepWait, sleepTime): 
    timeStart = time.time() 
    timeElapsed = 0 

    while timeElapsed <= sleepWait: 
     timeElapsed = time.time() - timeStart 
     print 'time elapsed = ' + str(timeElapsed) 
     time.sleep(1) 

    print 'going to sleep. zzz....' 
    # Sleep for x 
    time.sleep(sleepTime) 
    print 'im awake!' 


sleep_thread(5, 3) 
+0

謝謝邁克爾,如果我將它包含在線程中,它只會自己睡覺而不影響其他線程。這對我正在做的其他事情非常有幫助。 –