Spec-Zone.ru › Celery

celery.utils.graph

Реализация графа зависимостей.

exceptioncelery.utils.graph.CycleError

В ациклическом графе обнаружен цикл.

classcelery.utils.graph.DOT

Константы, связанные с форматом dot.

ATTR='{name}={value}'
ATTRSEP=', '
DIRS={'digraph': '->', 'graph': '--'}
EDGE='{INp}"{0}" {dir} "{1}" [{attrs}]'
HEAD='\n{IN}{type} {id} {{\n{INp}graph [{attrs}]\n'
NODE='{INp}"{0}" [{attrs}]'
TAIL='{IN}}}'
classcelery.utils.graph.DependencyGraph(it=None, formatter=None)

Ориентированный ациклический граф объектов и их зависимостей.

Поддерживает надежную топологическую сортировку для определения порядка обработки объектов.

Принимает необязательный итератор кортежей (obj, dependencies) для построения графа.

Предупреждение

Обнаружение циклов не поддерживается.

add_arc(obj)

Добавить объект в граф.

add_edge(A, B)

Добавить ребро от объекта A к объекту B.

То есть A зависит от B.

connect(graph)

Добавить узлы из другого графа.

edges()

Вернуть генератор, выдающий все ребра графа.

format(obj)
items()
iteritems()
repr_node(obj, level=1, fmt='{0}({1})')
to_dot(fh, formatter=None)

Преобразовать граф в формат DOT.

Параметры:
  • fh (IO) – Файл или файловый объект, в который будет записан граф.

  • formatter (celery.utils.graph.GraphFormatter) – Пользовательский форматтер графа.

topsort()

Выполнить топологическую сортировку графа.

Возвращает:

объекты в порядке, в котором их необходимо обработать.

Тип возвращаемого значения:

List

update(it)

Обновить граф данными из списка кортежей (obj, deps).

valency_of(obj)

Вернуть валентность (степень) вершины графа.

classcelery.utils.graph.GraphFormatter(root=None, type=None, id=None, indent=0, inw=' ', **scheme)

Форматирование графов зависимостей.

FMT(fmt, *args, **kwargs)
attr(name, value)
attrs(d, scheme=None)
draw_edge(a, b, scheme=None, attrs=None)
draw_node(obj, scheme=None, attrs=None)
edge(a, b, **attrs)
edge_scheme={'arrowcolor': 'black', 'arrowsize': 0.7, 'color': 'darkseagreen4'}
graph_scheme={'bgcolor': 'mintcream'}
head(**attrs)
label(obj)
node(obj, **attrs)
node_scheme={'color': 'palegreen4', 'fillcolor': 'palegreen3'}
scheme={'arrowhead': 'vee', 'fontname': 'HelveticaNeue', 'shape': 'box', 'style': 'filled'}
tail()
term_scheme={'color': 'palegreen2', 'fillcolor': 'palegreen1'}
terminal_node(obj, **attrs)

Copyright © 2017-2026 Asif Saif Uddin, core team & contributors. All rights reserved.
Celery is licensed under The BSD License (3 Clause, also known as the new BSD license). The license is an OSI approved Open Source license and is GPL-compatible.
https://docs.celeryq.dev/en/stable/internals/reference/celery.utils.graph.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API