I really do not think we are detaching within child process but I could be shown wrong. It is an async python app, so may be it has something to do with that.
The resultant files were
(dandisets-2) dandi@drogon:/mnt/backup/dandi/dandisets$ ls -ld .duct/logs/2024.10.10T17.41.45-2122745_*
-rw-r--r-- 1 dandi dandi 861 Oct 10 18:04 .duct/logs/2024.10.10T17.41.45-2122745_info.json
-rw-r--r-- 1 dandi dandi 0 Oct 10 17:41 .duct/logs/2024.10.10T17.41.45-2122745_stderr
-rw-r--r-- 1 dandi dandi 39272 Oct 10 18:04 .duct/logs/2024.10.10T17.41.45-2122745_stdout
-rw-r--r-- 1 dandi dandi 48493 Oct 10 18:04 .duct/logs/2024.10.10T17.41.45-2122745_usage.json
so no stderr , and stdout containing aforementioned output which was interleaved. So it seems just a matter of interleaving duct's logging stderr and underlying process stdout which somehow was not flushed.
Could we flush stdout of the underlying process somehow upon completion? may be simply calling sys.stdout.flush() and the same for stderr would address this although not sure it it would have a desired effect. I will keep an eye if issue is reproducible.
while running
duct
with backups2datalad:I got it ending with
I really do not think we are detaching within child process but I could be shown wrong. It is an async python app, so may be it has something to do with that.
The resultant files were
so no stderr , and stdout containing aforementioned output which was interleaved. So it seems just a matter of interleaving
duct
's logging stderr and underlying processstdout
which somehow was not flushed.Could we flush stdout of the underlying process somehow upon completion? may be simply calling
sys.stdout.flush()
and the same for stderr would address this although not sure it it would have a desired effect. I will keep an eye if issue is reproducible.