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