A request for task execution.
| 65 | |
| 66 | |
| 67 | class Request: |
| 68 | """A request for task execution.""" |
| 69 | |
| 70 | acknowledged = False |
| 71 | time_start = None |
| 72 | worker_pid = None |
| 73 | time_limits = (None, None) |
| 74 | _already_revoked = False |
| 75 | _already_cancelled = False |
| 76 | _terminate_on_ack = None |
| 77 | _apply_result = None |
| 78 | _tzlocal = None |
| 79 | |
| 80 | if not IS_PYPY: # pragma: no cover |
| 81 | __slots__ = ( |
| 82 | '_app', '_type', 'name', 'id', '_root_id', '_parent_id', |
| 83 | '_on_ack', '_body', '_hostname', '_eventer', '_connection_errors', |
| 84 | '_task', '_eta', '_expires', '_request_dict', '_on_reject', '_utc', |
| 85 | '_content_type', '_content_encoding', '_argsrepr', '_kwargsrepr', |
| 86 | '_args', '_kwargs', '_decoded', '__payload', |
| 87 | '__weakref__', '__dict__', |
| 88 | ) |
| 89 | |
| 90 | def __init__(self, message, on_ack=noop, |
| 91 | hostname=None, eventer=None, app=None, |
| 92 | connection_errors=None, request_dict=None, |
| 93 | task=None, on_reject=noop, body=None, |
| 94 | headers=None, decoded=False, utc=True, |
| 95 | maybe_make_aware=maybe_make_aware, |
| 96 | maybe_iso8601=maybe_iso8601, **opts): |
| 97 | self._message = message |
| 98 | self._request_dict = (message.headers.copy() if headers is None |
| 99 | else headers.copy()) |
| 100 | self._body = message.body if body is None else body |
| 101 | self._app = app |
| 102 | self._utc = utc |
| 103 | self._decoded = decoded |
| 104 | if decoded: |
| 105 | self._content_type = self._content_encoding = None |
| 106 | else: |
| 107 | self._content_type, self._content_encoding = ( |
| 108 | message.content_type, message.content_encoding, |
| 109 | ) |
| 110 | self.__payload = self._body if self._decoded else message.payload |
| 111 | self.id = self._request_dict['id'] |
| 112 | self._type = self.name = self._request_dict['task'] |
| 113 | if 'shadow' in self._request_dict: |
| 114 | self.name = self._request_dict['shadow'] or self.name |
| 115 | self._root_id = self._request_dict.get('root_id') |
| 116 | self._parent_id = self._request_dict.get('parent_id') |
| 117 | timelimit = self._request_dict.get('timelimit', None) |
| 118 | if timelimit: |
| 119 | self.time_limits = timelimit |
| 120 | self._argsrepr = self._request_dict.get('argsrepr', '') |
| 121 | self._kwargsrepr = self._request_dict.get('kwargsrepr', '') |
| 122 | self._on_ack = on_ack |
| 123 | self._on_reject = on_reject |
| 124 | self._hostname = hostname or gethostname() |
no outgoing calls