|
@@ -1,96 +0,0 @@
|
|
|
-from celery import current_app, task, uuid
|
|
|
-from celery.five import Queue, range
|
|
|
-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 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 range(1000000):
|
|
|
- x = Request(task, hostname=hostname, app=app, task=task)
|
|
|
-print(time() - ts)
|
|
|
-
|