簡體   English   中英

創建計時器計數器-Python

[英]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 ,然后將當前日志附加到該clusterlog字段中。 計時器重置為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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM