| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 | 
							- from celery import current_app, task, uuid
 
- from celery.worker.consumer import Consumer
 
- #from celery.worker.job import Request
 
- from celery.app.task import Context
 
- from celery.concurrency.solo import TaskPool
 
- from celery.app.amqp import TASK_BARE
 
- from time import time
 
- from Queue import Queue
 
- from librabbitmq import Message
 
- from celery.utils.functional import noop
 
- from celery.worker.job import NEEDS_KWDICT
 
- from celery.datastructures import AttributeDict
 
- import socket
 
- import sys
 
- @task(accept_magic_kwargs=False)
 
- def T():
 
-     pass
 
- class Request(object):
 
-     #__slots__ = ("app", "name", "id", "args", "kwargs",
 
-     #             "on_ack", "delivery_info", "hostname",
 
-     #             "eventer", "connection_errors",
 
-     #             "task", "eta", "expires", "flags",
 
-     #             "request_dict", "acknowledged",
 
-     #             "worker_pid", "started",
 
-     #             "_already_revoked", "_terminate_on_ack", "_tzlocal")
 
-     eta = None
 
-     started = False
 
-     acknowledged = _already_revoked = False
 
-     worker_pid = _terminate_on_ack = None
 
-     _tzlocal = None
 
-     expires = None
 
-     delivery_info = {}
 
-     flags = 0
 
-     args = ()
 
-     def __init__(self, body, on_ack=noop,
 
-             hostname=None, eventer=None, app=None,
 
-             connection_errors=None, request_dict=None,
 
-             delivery_info=None, task=None, Context=Context, **opts):
 
-         self.app = app
 
-         self.name = body["task"]
 
-         self.id = body["id"]
 
-         self.args = body["args"]
 
-         try:
 
-             self.kwargs = body["kwargs"]
 
-             if NEEDS_KWDICT:
 
-                 self.kwargs = kwdict(self.kwargs)
 
-         except KeyError:
 
-             self.kwargs = {}
 
-         try:
 
-             self.flags = body["flags"]
 
-         except KeyError:
 
-             pass
 
-         self.on_ack = on_ack
 
-         self.hostname = hostname
 
-         self.eventer = eventer
 
-         self.connection_errors = connection_errors or ()
 
-         self.task = task or self.app._tasks[self.name]
 
-         if "eta" in body:
 
-             eta = body["eta"]
 
-             tz = tz_utc if utc else self.tzlocal
 
-             self.eta = tz_to_local(maybe_iso8601(eta), self.tzlocal, tz)
 
-         if "expires" in body:
 
-             expires = body["expires"]
 
-             tz = tz_utc if utc else self.tzlocal
 
-             self.expires = tz_to_local(maybe_iso8601(expires),
 
-                                        self.tzlocal, tz)
 
-         if delivery_info:
 
-             self.delivery_info = {
 
-                 "exchange": delivery_info.get("exchange"),
 
-                 "routing_key": delivery_info.get("routing_key"),
 
-             }
 
-         self.request_dict = AttributeDict(
 
-                 {"called_directly": False,
 
-                  "callbacks": [],
 
-                  "errbacks": [],
 
-                  "chord": None}, **body)
 
- tid = uuid()
 
- hostname = socket.gethostname()
 
- task = {"task": T.name, "args": (), "kwargs": {}, "id": tid, "flags": 0}
 
- app = current_app._get_current_object()
 
- m = Message(None, {}, {}, task)
 
- ts = time()
 
- for i in xrange(1000000):
 
-     x = Request(task, hostname=hostname, app=app, task=task)
 
- print(time() - ts)
 
 
  |