Данный документ содержит описание работы и информацию о развертке микросервиса, предназначенного для получения мероприятий посредством запуска краулеров и перенаправления полученных таким образом мероприятий в сервис первичной обработки сырых мероприятий.
Название: raw_events_collector
Структура сервиса:
Файл | Описание |
---|---|
rec.py |
Код микросервиса |
config.py |
Файл с конфигурационной информацией для rec.py |
config.yml |
Конфигурационный файл со строкой подключения к RabbitMQ |
run.sh |
Файл для запуска сервиса из Docker контейнера |
requirements.txt |
Верхнеуровневые зависимости |
Dockerfile |
Описание сборки контейнера сервиса |
README.md |
Описание микросервиса |
Получение новых событий:
n.rpc.raw_events_collector.update()
Args: nothing
Returns: a batch with all events
Получение новых событий:
GET http://localhost:8000/events HTTP/1.1
Для локального запуска микросервиса требуется запустить контейнер с RabbitMQ.
sudo docker run -p 5672:5672 --hostname nameko-rabbitmq rabbitmq:3
Затем из папки микросервиса вызвать
nameko run raw_events_collector
Сервис запустится самостоятельно, и с помощью декоратора @timer
будет обновлять события каждые сутки
Для проверки rpc
запустите в командной строке:
nameko shell
После чего откроется интерактивная Python среда и обратитесь к сервису одной из команд, представленных выше в разделе rpc
.
Файл config.py
содержит список всех краулеров. Там же настраивается интервал обновления в секундах через TIMER
и время обновления TIME
. Для добавления новых добавить 2 строчки:
crawler_name_rpc = RpcProxy('crawler_name')
в раздел Crawlers
и
get_res.append(self.crawler_name_rpc.get_upcoming_events.call_async())
в метод update()
.