Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import pulsar
- def start(arbiter, **kw):
- pulsar.async(app(arbiter))
- ## Equivalent to main actually.
- def app(arbiter):
- # Spawn a new actor (greeter)
- # g = yield from pulsar.spawn(name='Greeter1')
- # print(type(greeter))
- greeter = yield from pulsar.spawn()
- result = yield from arbiter.send(greeter, 'run', Greeter)
- print("Object returned :", result)
- print("Actor's name :", greeter.name)
- again = yield from arbiter.send(greeter, 'run', result.who_is_it)
- print("Object returned by actor:", again)
- greeter.obj = result
- del result
- last = yield from arbiter.send(greeter, 'run', greeter.obj.who_is_it)
- print("Object added into actor :", last, greeter.obj)
- # Bypassing message passing
- print("Inner object directly :", greeter.obj.who_is_it(arbiter))
- arbiter.stop()
- class Greeter(object):
- """ Simple actor; has a name.
- """
- def __init__(self, actor):
- """ Set my name at birth.
- """
- self.name = "Victor"
- def __call__(self):
- pass
- def who_is_it(self, actor):
- return "My name is " + self.name + ", nice to meet you."
- if __name__ == '__main__':
- cfg = pulsar.Config()
- cfg.parse_command_line()
- pulsar.arbiter(cfg=cfg, start=start).start()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement