Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #103402 > unrolled thread

how to notify among the def and can network communication such as zeromq for python do this?

Started byHo Yeung Lee <davidbenny2000@gmail.com>
First post2016-02-23 04:15 -0800
Last post2016-02-23 04:15 -0800
Articles 1 — 1 participant

Back to article view | Back to comp.lang.python


Contents

  how to notify among the def and can network communication such as zeromq for python do this? Ho Yeung Lee <davidbenny2000@gmail.com> - 2016-02-23 04:15 -0800

#103402 — how to notify among the def and can network communication such as zeromq for python do this?

FromHo Yeung Lee <davidbenny2000@gmail.com>
Date2016-02-23 04:15 -0800
Subjecthow to notify among the def and can network communication such as zeromq for python do this?
Message-ID<3f18c177-a7d7-42a7-9134-bb1abc3ba7b8@googlegroups.com>
in the following code, node 3 and node 4 running parallel

if there are 100 nodes running parallel, how can they notify each other

i find this post stackoverflow, 

http://stackoverflow.com/questions/29324346/how-do-i-connect-asyncio-coroutines-that-continually-produce-and-consume-data


if zeromq for python can not do notify among parallel nodes which means give handle to another def

my goal is to make each node can notify all other nodes if each node need

import asyncio
import time
from concurrent.futures import ProcessPoolExecutor

def f000():
 try:
  print "000"
  ex = ProcessPoolExecutor(2)
  yield from loop.run_in_executor(ex, time.sleep, 10)
 except:
  print "000 exception"

def f001():
 try:
  print "001"
  ex = ProcessPoolExecutor(2)
  yield from loop.run_in_executor(ex, time.sleep, 10)
 except:
  print "001 exception"

def f002():
 try:
  print "002"
  ex = ProcessPoolExecutor(2)
  yield from loop.run_in_executor(ex, time.sleep, 10)
 except:
  print "002 exception"

def f003():
 try:
  print "003"
  ex = ProcessPoolExecutor(2)
  yield from loop.run_in_executor(ex, time.sleep, 10)
 except:
  print "003 exception"

def f004():
 try:
  print "004"
  ex = ProcessPoolExecutor(2)
  yield from loop.run_in_executor(ex, time.sleep, 10)
 except:
  print "004 exception"

machine = {}
mappedfunc = {}
functionlist000 = []
functionlist001 = []
functionlist002 = []
functionlist003 = []
functionlist004 = []

functionlist000.append('002')
functionlist001.append('000')
functionlist002.append('003')
functionlist002.append('004')

functionlist003.append('001')
functionlist004.append('001')

machine000 = {'000': functionlist000}
machine001 = {'001': functionlist001}
machine002 = {'002': functionlist002}
machine003 = {'003': functionlist003}
machine004 = {'004': functionlist004}

machine.update(machine000)
machine.update(machine001)
machine.update(machine002)
machine.update(machine003)
machine.update(machine004)

functionkey000 = {'000': f000 }
functionkey001 = {'001': f001 }
functionkey002 = {'002': f002 }
functionkey002 = {'003': f003 }
functionkey002 = {'004': f004 }

mappedfunc.update(functionkey000)
mappedfunc.update(functionkey001)
mappedfunc.update(functionkey002)
mappedfunc.update(functionkey003)
mappedfunc.update(functionkey004)

def workingthreadpool(currentnumber1):
  i = 1
 #while i < 7:
  #i = i + 1
  functionlist0 = list(machine.get(currentnumber1).values())

  loop = asyncio.get_event_loop()
  tesks = []
  
  j = 1
  for functionlistelement in functionlist0
   tesks.append(asyncio.ensure_future(mappedfunc.get(functionlistelement)()))
   if j > 1:
    workingthreadpool(functionlistelement)
   j = j + 1

  loop.run_until_complete(asyncio.wait_for(tesks, 1))
  loop.close()

currentnumber = "000"
workingthreadpool(currentnumber)

[toc] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web