IT-Events Crawler

Данный документ содержит описание работы и информацию о развертке микросервиса для сбора данных о мероприятиях с информационного ресурса IT-Events

Название сервиса: it_events_crawler

Структура сервиса:

Файл Описание
it_events_crawler.py Код микросервиса, вместе с парсингом мероприятий с IT-Events
config.yml Конфигурационный файл со строкой подключения к RabbitMQ
run.sh Файл для запуска краулера из Docker контейнера
requirements.txt Верхнеуровневые зависимости
requirements.lock Все зависимости (pip freeze)
Dockerfile Описание сборки контейнера краулера
docker-compose.yml Изолированная развертка краулера вместе с RabbitMQ
.rest Тесты взаимодействия с HTTP эндпоинтами микросервиса
README.md Описание микросервиса
Procfile Файл для развертки на heroku

API

RPC

Получение сырых мероприятий:

n.rpc.it_events_crawler.get_upcoming_events()

Args: nothing
Returns: [event_1, ..., event_n]

HTTP

Получение сырых мероприятий:

GET http://localhost:8000/events HTTP/1.1

Развертывание и запуск

Локальный запуск

Для локального запуска микросервиса требуется запустить контейнер с RabbitMQ:

sudo docker run -p 5672:5672 --hostname nameko-rabbitmq rabbitmq:3

Затем из папки микросервиса вызвать

nameko run it_events_crawler

Для проверки rpc запустите в командной строке:

nameko shell

После чего откроется интерактивная Python среда. Обратитесь к сервису одной из команд, представленных выше в разделе rpc

Запуск в контейнере

Чтобы запустить микросервис в контейнере из папки краулера вызовите команду:

docker-compose up

если вы не хотите просмотривать логи, добавьте флаг -d в конце

Краулер запустится вместе с RabbitMQ в контейнерах.