[英]creating a timer counter - Python
我正在將Django用於項目,並且具有以下方法:
TIMEOUT = 10 # defines the timeout in sec
def read_cluster_log(proc, cluster):
logs = ""
while True:
line = proc.stdout.readline()
if not line:
break
logging.info(line)
# here I need to add a buffer:
# if the 'counter' is equal to 10 sec
# append logs to the database and reset the timer to 0
# else, keep appending.
logs += line
cluster_log = ClusterLog(cluster=cluster, log=logs)
cluster_log.save()
return cluster_log
到目前為止,此函數將捕獲整個輸出,並將其保存到數據庫。 log
是一個BinaryField
。 我需要做的是設置一個計時器,該計時器的運行時間為0到TIMEOUT
,然后將當前日志附加到該cluster
的log
字段中。 計時器重置為0,並一直持續到程序結束。 這里的想法是,當用戶創建Hadoop
集群時,可以從網站上獲得輸出。 但是,這一部分有些棘手。 有人可以幫我嗎? 運行此Django
應用程序的數據庫是MySQL
嘗試sleep(n)
,它將休眠n秒。
import time
TIMEOUT = 10 # defines the timeout in sec
def read_cluster_log(proc, cluster):
logs = ""
while True:
line = proc.stdout.readline()
if not line:
break
logging.info(line)
#changed here
time.sleep(TIMEOUT) #sleeps for 10 seconds
logs += line
cluster_log = ClusterLog(cluster=cluster, log=logs)
cluster_log.save()
return cluster_log
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.