actors.py 732 B

123456789101112131415161718192021222324252627282930
  1. from __future__ import absolute_import
  2. from celery.app import app_or_default
  3. import cl
  4. import cl.presence
  5. def construct(cls, instance, connection=None, *args, **kwargs):
  6. app = instance.app = app_or_default(kwargs.pop("app", None))
  7. super(cls, instance).__init__(connection or app.broker_connection(),
  8. *args, **kwargs)
  9. class Actor(cl.Actor):
  10. def __init__(self, *args, **kwargs):
  11. construct(Actor, self, *args, **kwargs)
  12. class Agent(cl.Agent):
  13. def __init__(self, *args, **kwargs):
  14. construct(Agent, self, *args, **kwargs)
  15. class AwareAgent(cl.presence.AwareAgent):
  16. def __init__(self, *args, **kwargs):
  17. construct(AwareAgent, self, *args, **kwargs)