irt-service/app/main.py
2021-11-03 17:58:48 +00:00

37 lines
1.1 KiB
Python

import os, sys, logging
from services.loft_service import LoftService
from helpers import aws_helper
from daemonize import Daemonize
from sqs_listener import SqsListener
logging.basicConfig(stream=sys.stdout, level=logging.INFO, format="%(levelname)s %(asctime)s - %(message)s")
class ServiceListener(SqsListener):
def handle_message(self, body, attributes, messages_attributes):
# gather/manage/process data based on the particular needs
logging.info('Incoming message: %s', body)
service = LoftService(body)
service.process()
logging.info('Process complete for %s', service.file_name)
def main():
logging.info('Starting Solver Service (v0.4.2)...')
listener = ServiceListener(
'measure-development-solver-ingest',
region_name=os.environ['AWS_REGION'],
aws_access_key=os.environ['AWS_ACCESS_KEY_ID'],
aws_secret_key=os.environ['AWS_SECRET_ACCESS_KEY'],
queue_url=os.environ['SQS_QUEUE']
)
listener.listen()
if __name__ == '__main__':
myname=os.path.basename(sys.argv[0])
pidfile='/tmp/%s' % myname # any name
daemon = Daemonize(app=myname,pid=pidfile, action=main, foreground=True)
daemon.start()