本文整理匯總了Python中pool.Pool.pushNewEvents方法的典型用法代碼示例。如果您正苦於以下問題:Python Pool.pushNewEvents方法的具體用法?Python Pool.pushNewEvents怎麽用?Python Pool.pushNewEvents使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類pool.Pool
的用法示例。
在下文中一共展示了Pool.pushNewEvents方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: run
# 需要導入模塊: from pool import Pool [as 別名]
# 或者: from pool.Pool import pushNewEvents [as 別名]
def run(IP, PORT):
# Simulated "event queue"
eventQueue = deque()
# Process queue used for async rpc system.
processQ = Queue()
sessionManager = MasterSessionManager(IP, PORT, processQ)
rpcManager = RPCManager(sessionManager, processQ)
containerAllocator = RMContainerAllocator(eventQueue, sessionManager)
committerEventHandler = CommitterEventHandler(eventQueue)
printed = False;
serverList = []
assignedServers = []
serverAssignments = defaultdict(list)
pool = Pool()
job = Job(work, pool, rpcManager, eventQueue)
# Simulate Delayed Job init and start.
eventQueue.append(("JOB_INIT", job))
eventQueue.append(("JOB_START", job))
while True:
# Simulate "event delivery"
containerAllocator.pushNewEvents(eventQueue)
committerEventHandler.pushNewEvents(eventQueue)
pool.pushNewEvents(eventQueue)
eventQueue.clear()
# Simulate async mechanisums
sessionManager.poll()
rpcManager.poll()
containerAllocator.heartbeat()
committerEventHandler.heartbeat()
# For server failure
for locator in serverList:
if (locator not in sessionManager.serverList()):
eventQueue.append(("JOB_UPDATED_NODES", locator))
if serverList != sessionManager.serverList():
print "serverList change"
serverList = sessionManager.serverList()
# Run tasks
pool.poll()
if job.getStatus() == "SUCCEEDED" and not printed:
print "Job Complete"
print job
printed = True