MCPcopy Create free account
hub / github.com/assemblerflow/flowcraft / NextflowInspector

Class NextflowInspector

flowcraft/generator/inspect.py:53–1595  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

51
52
53class NextflowInspector:
54
55 MAX_RETRIES = 1000
56 """
57 int: Number of retries for parsing trace and log files. Only exit with non-0
58 error code after these retries.
59 """
60
61 def __init__(self, trace_file, refresh_rate, pretty=False, ip_addr=None):
62
63 self.trace_file = trace_file
64 """
65 str: Path to nextflow trace file.
66 """
67
68 self.trace_sizestamp = None
69 """
70 str: Stores the sizestamp of the last modification of the trace file.
71 This is used to parse the file only when it has changed.
72 """
73
74 self.refresh_rate = refresh_rate
75 """
76 float: Frequency (in seconds) that the curses screen will be refreshed.
77 """
78
79 self.stored_ids = []
80 """
81 list: Stores the task_ids that have already been parsed. It is used
82 to skip them when parsing the trace files multiple times.
83 """
84
85 self.stored_log_ids = []
86 """
87 list: Stores the time stamps of the log file lines that were already
88 parsed. It is used to skip parsing the log files multilpe times
89 """
90
91 self.trace_info = defaultdict(list)
92 """
93 dict: Main object that stores the status information for each process
94 name in the trace file.
95 """
96
97 self.process_stats = {}
98 """
99 dict: Contains some statistics for each process.
100 """
101
102 self.processes = OrderedDict()
103 """
104 dict: Dictionary of processes from the pipeline with the status of the
105 channel as the value. This information is retrieved from the
106 .nextflow.log file in the :func:`_parser_pipeline_processes` method
107 and updated in the :func:`_update_barrier_status` and
108 :func:`_update_process_stats` and :func:`_update_submission_status`.
109 """
110

Callers 1

inspectFunction · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected