cb_parser/rates/tasks.py
2019-05-01 18:38:02 +03:00

21 lines
609 B
Python

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)