import logging import json import time import smtplib from hasaki_categories import HasakiCategories from hasaki_category_products import HasakiCategoryProducts from hasaki_product_info import HasakiProductInfo from email.message import EmailMessage ##### Looger ###### format = "%(asctime)s: %(message)s" logging.basicConfig(format=format, level=logging.INFO, datefmt="%Y-%m-%d %H:%M:%S") config = {} def main(): hasaki_categories = HasakiCategories(config) hasaki_categories.start_processing() time.sleep(60) hasaki_category_products = HasakiCategoryProducts(config) hasaki_category_products.start_processing() time.sleep(60) hasaki_products = HasakiProductInfo(config) hasaki_products.start_processing() def send_mail(msg): try: EMAIL_ADDRESS = "AKIAR2YL57QC6NITTJN5" EMAIL_PASSWORD = "BAs9W772KNxLL1xnMzYhdIkpflQ8H+KP0Zbl8dphQZWh" From = 'data_reporting@raenabeauty.com' To = 'shariar@raenabeauty.com, data_reporting@raenabeauty.com' # To = 'shariar@raenabeauty.com' html = f'''

Hasaki Crawler Status

{msg}

This is system generated mail. Please do not reply

''' msg = EmailMessage() msg['Subject'] = 'Hasaki Crawler Status' msg['From'] = From msg['To'] = To msg.set_content(html, subtype='html') with smtplib.SMTP('email-smtp.ap-southeast-1.amazonaws.com', 587) as smtp: smtp.ehlo() smtp.starttls() smtp.login(EMAIL_ADDRESS, EMAIL_PASSWORD) smtp.send_message(msg) except Exception as e: logging.info("Error while sending mail: {}".format(e)) if __name__ == "__main__": logging.info("Starting Hasaki Crawler.......") try: logging.info("Loading config file.......") with open("conf.json", "r") as jsonfile: config = json.load(jsonfile) logging.info("Config file loaded.......") print(config) main() send_mail("Hasaki crawler run complete.") except Exception as e: logging.info("Error: ".format(e)) logging.info("Cannot load config file. Please check. Exiting......") send_mail("Error occurred. Please check Hasaki Pipeline.") exit(1)