Commit Graph

12 Commits (69ec272982bd6dd4cef762cde7dc35cf93d87229)

Author SHA1 Message Date
James S. Martin 4d75f9b4bc Shows messages for uncaught exceptions from called modules in async_wrapper output. (#4591) 2016-12-08 11:24:55 -05:00
James Cammarata 204e83aeed Ensure async wrapper and status return consistent fields 2016-12-08 11:24:42 -05:00
David Shrewsbury 88122e0f72 Use os.rename() in async_wrapper
Because the async_status module will read from the same file that
the async_wrapper module is writing, it's possible that the file
may not be fully synced during a read, causing spurious failures.
Use a temp file to do an atomic operation on the file. We can't
use atomic_move() here as that doesn't work properly under async.

Also, let's not read concurrently from the same file the subprocess
is writing to. Instead, capture stdout/stderr via PIPE and write to
the file to avoid nasty races.
2016-12-08 11:24:40 -05:00
Brian Coca f595b27e47 reverted need for module utils imports 2016-12-08 11:24:38 -05:00
Brian Coca 0c82db9cda added missing import
readded raise
2016-12-08 11:24:38 -05:00
Brian Coca 51c3eda259 exception ans sys.exit fixes 2016-12-08 11:24:38 -05:00
Toshio Kuratomi 1b88df0bda Fix exception handling in async_wrapper 2016-12-08 11:24:38 -05:00
Brano Zarnovican 9fd52ac40e Py2.4: SystemExit in async_wrapper is not an error - compatibility fix
Prior to Python 2.5, SystemExit was a subclass of Exception.
In Py2.4, this is causing extra error output on valid sys.exit(0).

(Toshio) Call sys.exit from inside of the SystemExit exception handler so py2.4 and py2.5+ behaviour matches
2016-12-08 11:24:37 -05:00
@ c901b70a01 Fixing compile time errors irt (, e => as e, print(), ocat now 0o not 0) exception handling for Python 3 (#3851)
* Fixing compile time errors irt a) exception handling for Python 3 in util, also: b) problem octal usage (fixed) and c) print json_dump -> print(json_dump(xyz) ... et al

* This code was not Python 2.4 compliant. Octal codes and exception handling is now working with Py 2.4, 2.6, & 3.5.

* Fixing formating (or rather reverting an non 2.4 compatible change). Works in compile & runtime checking.

* a) revert to use print sys.stderr not fail_json; b) fixed var name in exception

* Python 3 compatible print (print >>sys.stderr will generate a TypeError - now uses sys.stderr.write instead).
2016-12-08 11:24:37 -05:00
Toshio Kuratomi 708d49777d Allow async to not need an args file since new-style modules have args embedded 2016-12-08 11:24:15 -05:00
Brian Coca c8a7c25468 code cleanup and reoorg, renamed vars and functions to actual purpose reneabled logging of steps 2016-12-08 11:23:44 -05:00
Michael DeHaan d31ac79269 Move internal category to utilities to remove one more category from the left hand menu, keeping it concise. 2016-12-08 11:22:25 -05:00