MCPcopy
hub / github.com/celery/celery / as_task_v2

Method as_task_v2

celery/app/amqp.py:320–412  ·  view source on GitHub ↗
(self, task_id, name, args=None, kwargs=None,
                   countdown=None, eta=None, group_id=None, group_index=None,
                   expires=None, retries=0, chord=None,
                   callbacks=None, errbacks=None, reply_to=None,
                   time_limit=None, soft_time_limit=None,
                   create_sent_event=False, root_id=None, parent_id=None,
                   shadow=None, chain=None, now=None, timezone=None,
                   origin=None, ignore_result=False, argsrepr=None, kwargsrepr=None, stamped_headers=None,
                   replaced_task_nesting=0, **options)

Source from the content-addressed store, hash-verified

318 )
319
320 def as_task_v2(self, task_id, name, args=None, kwargs=None,
321 countdown=None, eta=None, group_id=None, group_index=None,
322 expires=None, retries=0, chord=None,
323 callbacks=None, errbacks=None, reply_to=None,
324 time_limit=None, soft_time_limit=None,
325 create_sent_event=False, root_id=None, parent_id=None,
326 shadow=None, chain=None, now=None, timezone=None,
327 origin=None, ignore_result=False, argsrepr=None, kwargsrepr=None, stamped_headers=None,
328 replaced_task_nesting=0, **options):
329
330 args = args or ()
331 kwargs = kwargs or {}
332 if not isinstance(args, (list, tuple)):
333 raise TypeError('task args must be a list or tuple')
334 if not isinstance(kwargs, Mapping):
335 raise TypeError('task keyword arguments must be a mapping')
336 if countdown: # convert countdown to ETA
337 self._verify_seconds(countdown, 'countdown')
338 now = now or self.app.now()
339 timezone = timezone or self.app.timezone
340 eta = maybe_make_aware(
341 now + timedelta(seconds=countdown), tz=timezone,
342 )
343 if isinstance(expires, numbers.Real):
344 self._verify_seconds(expires, 'expires')
345 now = now or self.app.now()
346 timezone = timezone or self.app.timezone
347 expires = maybe_make_aware(
348 now + timedelta(seconds=expires), tz=timezone,
349 )
350 if not isinstance(eta, str):
351 eta = eta and eta.isoformat()
352 # If we retry a task `expires` will already be ISO8601-formatted.
353 if not isinstance(expires, str):
354 expires = expires and expires.isoformat()
355
356 if argsrepr is None:
357 argsrepr = saferepr(args, self.argsrepr_maxsize)
358 if kwargsrepr is None:
359 kwargsrepr = saferepr(kwargs, self.kwargsrepr_maxsize)
360
361 if not root_id: # empty root_id defaults to task_id
362 root_id = task_id
363
364 stamps = {header: options[header] for header in stamped_headers or []}
365 headers = {
366 'lang': 'py',
367 'task': name,
368 'id': task_id,
369 'shadow': shadow,
370 'eta': eta,
371 'expires': expires,
372 'group': group_id,
373 'group_index': group_index,
374 'retries': retries,
375 'timelimit': [time_limit, soft_time_limit],
376 'root_id': root_id,
377 'parent_id': parent_id,

Calls 5

_verify_secondsMethod · 0.95
maybe_make_awareFunction · 0.90
safereprFunction · 0.90
anon_nodenameFunction · 0.90
nowMethod · 0.45