コード例 #1
0
ファイル: slave.py プロジェクト: rongweihe/momoko
 def __init__(self,
              host,
              port,
              master_host,
              workers,
              recv_real_time_request=False):
     '''
         初始化
         @param host: 接收实时请求的ip,当recv_real_time_request为True的时候才使用
         @param port: 接收实时请求的端口,当recv_real_time_request为True的时候才使用
         @param master_host: master的ip和端口
         @param workers: 线程组
         @param recv_real_time_request: 是否能接收实时请求,True表示可以接收,其它表示不能
     '''
     if recv_real_time_request:
         self.__server = http_server.HttpServer(host, port)
     self.__client = http_client.HttpClient(master_host)
     # 保存slave的相关信息
     self.info = SlaveInfo()
     self.info.recv_real_time_request = recv_real_time_request
     self.info.server = host
     self.info.server_ip = host + ":" + str(port)
     self.info.path = os.getcwd()
     # timer,用来定时发送heartbeat状态
     self.__timer = timer.Timer(HEARTBEAT_TIME_SPAN, self.heartbeat)
     # 互斥信号量
     self.__sem = threading.Semaphore()
     self.__workers = workers
コード例 #2
0
 def __init__(self, host, sources = None):
     self.__client = HttpClientPool(host, timeout = 1000, maxsize = 10)
     self.__sources = sources
     self.__sem = threading.Semaphore()
     self.__tasks = []
     self.__tasks_status = []
     #self.__timer = timer.Timer(TASK_TIME_SPAN, self.get_workloads)
     #self.__timer.start()
     self.__timer2 = timer.Timer(COMPLETE_TIME_SPAN, self.complete_workloads)
     self.__timer2.start()
コード例 #3
0
ファイル: slave.py プロジェクト: bopopescu/lave
    def __init__(self,
                 host,
                 port,
                 master_host,
                 workers,
                 env,
                 recv_real_time_request=False):
        '''
            初始化
            @param host: 接收实时请求的ip,当recv_real_time_request为True的时候才使用
            @param port: 接收实时请求的端口,当recv_real_time_request为True的时候才使用
            @param master_host: master的ip和端口
            @param workers: 线程组
            @param recv_real_time_request: 是否能接收实时请求,True表示可以接收,其它表示不能
        '''

        self.__server = http_server.HttpServer('0.0.0.0', port)

        self.__client = http_client.HttpClient(master_host)
        self.__master_host = master_host
        # 保存slave的相关信息
        self.info = SlaveInfo(local_ip=host,
                              port=port,
                              recv_real_time_request=recv_real_time_request)
        self.info.path = os.getcwd()
        # timer,用来定时发送heartbeat状态
        self.env = env
        self.redis = redis.Redis(host='10.10.173.116',
                                 port=6379,
                                 password='******',
                                 db=1)
        self.__timer = timer.Timer(HEARTBEAT_TIME_SPAN, self.heartbeat)
        self.__timer_new = timer.Timer(HEARTBEAT_TIME_SPAN, self.__heartbeat)
        # 互斥信号量
        self.__sem = threading.Semaphore()
        self.__workers = workers
コード例 #4
0
ファイル: workload.py プロジェクト: bopopescu/lave
    def __init__(self, host, sources, data_type_str, recv_real_time_request=True):

        self.__client = HttpClientPool(
            host, timeout=1000, maxsize=500, block=True)
        self.timeout = 2395
        self.__sources = sources
        self.__sem = threading.Semaphore()
        self.__complete_task_sem = threading.Semaphore()
        self.tasks = Queue(maxsize=MaxQsize)
        self.__tasks_status = []
        self.TaskingDict = {}
        self.new_tasks = []
        self.__flag = recv_real_time_request
        self.data_type_str = data_type_str
        self.workload_restart_flag = True
        self.__timer2 = timer.Timer(
            COMPLETE_TIME_SPAN, self.complete_workloads)
        self.__timer2.start()
コード例 #5
0
ファイル: bossStatus.py プロジェクト: bopopescu/lave
 def __init__(self):
     self.__process_list = []
     self.__timer = timer.Timer(PROCESS_TIME_SPAN,
                                self.update_process_status)
     self.__timer.start()
     self.__process_list = self.get_process_l()