[SPARK-8170] [PYTHON] Add signal handler to trap Ctrl-C in pyspark and cancel all running jobs
This patch adds a signal handler to trap Ctrl-C and cancels running job. Author: Ashwin Shankar <ashankar@netflix.com> Closes #9033 from ashwinshankar77/master.
This commit is contained in:
parent
149472a01d
commit
2e572c4135
|
@ -19,6 +19,7 @@ from __future__ import print_function
|
|||
|
||||
import os
|
||||
import shutil
|
||||
import signal
|
||||
import sys
|
||||
from threading import Lock
|
||||
from tempfile import NamedTemporaryFile
|
||||
|
@ -217,6 +218,12 @@ class SparkContext(object):
|
|||
else:
|
||||
self.profiler_collector = None
|
||||
|
||||
# create a signal handler which would be invoked on receiving SIGINT
|
||||
def signal_handler(signal, frame):
|
||||
self.cancelAllJobs()
|
||||
|
||||
signal.signal(signal.SIGINT, signal_handler)
|
||||
|
||||
def _initialize_context(self, jconf):
|
||||
"""
|
||||
Initialize SparkContext in function to allow subclass specific initialization
|
||||
|
|
Loading…
Reference in a new issue