jegesh / python-sqs-listener

A simple wrapper for boto3 for listening, and sending, to an AWS SQS queue
Other
154 stars 71 forks source link

chore: added a method to determine whether the consumer should be executed #63

Open mjroson opened 1 year ago

mjroson commented 1 year ago

Example to override this method to start SO signals

class SignalHandler:
    def __init__(self):
        self.received_signal = False
        signal(SIGINT, self._signal_handler)
        signal(SIGTERM, self._signal_handler)

    def _signal_handler(self, signal, frame):
        logger.info("Handling signal %s, exiting gracefully", signal)
        self.received_signal = True

 class MyListener(SqsListener):
     def _condition_to_listening(self):
         if not getattr(self, "signal_handler"):
             self.signal_handler = SignalHandler()
         return not signal_handler.received_signal

     def handle_message(self, body, attributes, messages_attributes):
         pass