Ran black code formatter on everything.
[python_utils.git] / remote_worker.py
index bf8de6c66a36767ac267cfdd2bffe38317cbace0..b58c6ba0a66f8d32b2b81af72a66d23493c9b2e5 100755 (executable)
@@ -6,7 +6,6 @@ results.
 
 import logging
 import os
-import platform
 import signal
 import threading
 import sys
@@ -32,28 +31,25 @@ cfg.add_argument(
     type=str,
     required=True,
     metavar='FILENAME',
-    help='The location of the bundle of code to execute.'
+    help='The location of the bundle of code to execute.',
 )
 cfg.add_argument(
     '--result_file',
     type=str,
     required=True,
     metavar='FILENAME',
-    help='The location where we should write the computation results.'
+    help='The location where we should write the computation results.',
 )
 cfg.add_argument(
     '--watch_for_cancel',
     action=argparse_utils.ActionNoYes,
-    default=False,
-    help='Should we watch for the cancellation of our parent ssh process?'
+    default=True,
+    help='Should we watch for the cancellation of our parent ssh process?',
 )
 
 
 @background_thread
 def watch_for_cancel(terminate_event: threading.Event) -> None:
-    if platform.node() == 'VIDEO-COMPUTER':
-        logger.warning('Background thread not allowed on retarded computers, sorry.')
-        return
     logger.debug('Starting up background thread...')
     p = psutil.Process(os.getpid())
     while True:
@@ -67,7 +63,9 @@ def watch_for_cancel(terminate_event: threading.Event) -> None:
                 saw_sshd = True
                 break
         if not saw_sshd:
-            logger.error('Did not see sshd in our ancestors list?!  Committing suicide.')
+            logger.error(
+                'Did not see sshd in our ancestors list?!  Committing suicide.'
+            )
             os.system('pstree')
             os.kill(os.getpid(), signal.SIGTERM)
             time.sleep(5.0)
@@ -83,7 +81,9 @@ def main() -> None:
     in_file = config.config['code_file']
     out_file = config.config['result_file']
 
-    (thread, stop_thread) = watch_for_cancel()
+    stop_thread = None
+    if config.config['watch_for_cancel']:
+        (thread, stop_thread) = watch_for_cancel()
 
     logger.debug(f'Reading {in_file}.')
     try:
@@ -129,8 +129,9 @@ def main() -> None:
         stop_thread.set()
         sys.exit(-1)
 
-    stop_thread.set()
-    thread.join()
+    if stop_thread is not None:
+        stop_thread.set()
+        thread.join()
 
 
 if __name__ == '__main__':