예제 #1
0
 def get_agent(cls, v):
     if v in cls.visitor_agent:
         return cls.visitor_agent[v]
     else:
         if len(cls.idle_agents) > 0:
             agent_id = cls.idle_agents.pop()
             cls.reused_agents.add(agent_id)
             vv = cls.agent_visitor[agent_id]
             del cls.visitor_agent[vv]
             del cls.agent_visitor[agent_id]
             del cls.agent_status[agent_id]
         else:
             cls.agent_count += 1
             cls.agent_md5.update(bytes(cls.agent_count))
             agent_id = cls.agent_md5.hexdigest()
             GCFEngine.spawn_agent(agent_id)
         cls.visitor_agent[v] = agent_id
         cls.agent_visitor[agent_id] = v
         cls.agent_status[agent_id] = time()
         return agent_id
예제 #2
0
파일: job.py 프로젝트: wehu/pydv
 def get_agent(cls, v):
     if v in cls.visitor_agent:
         return cls.visitor_agent[v]
     else:
         if len(cls.idle_agents) > 0:
             agent_id = cls.idle_agents.pop()
             cls.reused_agents.add(agent_id)
             vv = cls.agent_visitor[agent_id]
             del cls.visitor_agent[vv]
             del cls.agent_visitor[agent_id]
             del cls.agent_status[agent_id]
         else:
             cls.agent_count += 1
             cls.agent_md5.update(bytes(cls.agent_count))
             agent_id = cls.agent_md5.hexdigest()
             GCFEngine.spawn_agent(agent_id)
         cls.visitor_agent[v] = agent_id
         cls.agent_visitor[agent_id] = v
         cls.agent_status[agent_id] = time()
         return agent_id