Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from time import sleep
- import signal
- import random
- TIMEOUT = 3
- def long_running_op():
- print("Starting long-running op..")
- for i in xrange(5):
- duration = random.uniform(0.5, 3.1)
- print("Running operation for %f seconds" % duration)
- sleep(duration)
- print("Step completed, reseting SIGALARM timer")
- signal.alarm(TIMEOUT)
- print("Completed, clearing SIGALARM timer")
- signal.alarm(0)
- def main():
- def signal_handler(sig_num, stack_frame):
- print("Signal handler called")
- raise ValueError("abort")
- signal.signal(signal.SIGALRM, signal_handler)
- signal.alarm(TIMEOUT)
- long_running_op()
- if __name__ == "__main__":
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement