Advertisement
Guest User

Untitled

a guest
Jul 7th, 2015
12
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.30 KB | None | 0 0
  1. import pulsar
  2.  
  3. def start(arbiter, **kw):
  4.     pulsar.async(app(arbiter))
  5.  
  6. ## Equivalent to main actually.
  7. def app(arbiter):
  8.     # Spawn a new actor (greeter)
  9.     # g = yield from pulsar.spawn(name='Greeter1')
  10.     # print(type(greeter))
  11.     greeter = yield from pulsar.spawn()
  12.     result = yield from arbiter.send(greeter, 'run', Greeter)
  13.     print("Object returned         :", result)
  14.     print("Actor's name            :", greeter.name)
  15.  
  16.     again = yield from arbiter.send(greeter, 'run', result.who_is_it)
  17.     print("Object returned by actor:", again)
  18.  
  19.     greeter.obj = result
  20.     del result
  21.     last = yield from arbiter.send(greeter, 'run', greeter.obj.who_is_it)
  22.     print("Object added into actor :", last, greeter.obj)
  23.  
  24.     # Bypassing message passing
  25.     print("Inner object directly   :", greeter.obj.who_is_it(arbiter))
  26.     arbiter.stop()
  27.  
  28. class Greeter(object):
  29.     """ Simple actor; has a name.
  30.    """
  31.     def __init__(self, actor):
  32.         """ Set my name at birth.
  33.        """
  34.         self.name = "Victor"
  35.  
  36.     def __call__(self):
  37.         pass
  38.  
  39.     def who_is_it(self, actor):
  40.         return "My name is " + self.name + ", nice to meet you."
  41.  
  42. if __name__ == '__main__':
  43.     cfg = pulsar.Config()
  44.     cfg.parse_command_line()
  45.     pulsar.arbiter(cfg=cfg, start=start).start()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement