Сейчас это выглядит у меня как-то так:
class Worker:
def __init__(self):
self.__exit = False
def exit(self, *args)
if not self.__exit:
print('Exiting...')
self.__exit = True
def loop(self):
signal.signal(signal.SIGINT, self.exit)
while True:
if self.__exit:
break