@@ -13,6 +13,7 @@ def main():
13
13
from pathlib import Path
14
14
15
15
from ..utils .bids import write_bidsignore , write_derivative_description
16
+ from ..utils .misc import ping_migas
16
17
from .parser import parse_args
17
18
from .workflow import build_boilerplate , build_workflow
18
19
@@ -22,6 +23,10 @@ def main():
22
23
23
24
parse_args ()
24
25
26
+ # collect telemetry information - if `--notrack` is specified,
27
+ # nothing is sent.
28
+ ping_migas ()
29
+
25
30
if "participant" in config .workflow .analysis_level :
26
31
_pool = None
27
32
if config .nipype .plugin == "MultiProc" :
@@ -54,6 +59,7 @@ def main():
54
59
nibabies_wf = retval ['workflow' ]
55
60
56
61
if nibabies_wf is None :
62
+ ping_migas (status = 'error' )
57
63
if config .execution .reports_only :
58
64
sys .exit (int (retcode > 0 ))
59
65
sys .exit (os .EX_SOFTWARE )
@@ -62,11 +68,13 @@ def main():
62
68
nibabies_wf .write_graph (graph2use = "colored" , format = "svg" , simple_form = True )
63
69
64
70
if retcode != 0 :
71
+ ping_migas (status = 'error' )
65
72
sys .exit (retcode )
66
73
67
74
# generate boilerplate
68
75
build_boilerplate (nibabies_wf )
69
76
if config .execution .boilerplate_only :
77
+ ping_migas (status = 'success' )
70
78
sys .exit (0 )
71
79
72
80
gc .collect ()
@@ -91,12 +99,13 @@ def main():
91
99
nibabies_wf .run (** _plugin )
92
100
except Exception as e :
93
101
config .loggers .workflow .critical ("nibabies failed: %s" , e )
102
+ ping_migas (status = 'error' )
94
103
raise
95
104
else :
96
105
config .loggers .workflow .log (25 , "nibabies finished successfully!" )
97
-
98
106
# Bother users with the boilerplate only iff the workflow went okay.
99
107
boiler_file = config .execution .nibabies_dir / "logs" / "CITATION.md"
108
+ ping_migas (status = 'success' )
100
109
if boiler_file .exists ():
101
110
if config .environment .exec_env in (
102
111
"singularity" ,
0 commit comments