import xml.etree.ElementTree as ET from datetime import datetime import redis import requests from celery import task from celery.utils.log import get_task_logger logger = get_task_logger(__name__) @task def parse_cb(): url = 'https://www.cbr-xml-daily.ru/daily_utf8.xml' res = requests.get(url) root = ET.fromstring(res.content.decode()) result = {child.find("CharCode").text: child.find("Value").text for child in root} redis_ = redis.StrictRedis(host='redis', port=6379, db=0) redis_.set('result', str(result)) redis_.set('time', str(datetime.now())) logger.info(result)