Система параллельного запуска и выполнения тасков. Данная система позволяет запускать тесты параллельно(в данный момент опробовано только на функциональных тестах написанных на PHP). Параллельный запуск дает возможность управлять ресурсами и сокращать время тестирования. Система состоит из компонентов. Каждый компонент имеет небольшую зону ответственности. Ниже приведен список компонентов и их описание.
- client. Консольное приложение для запуска.
- manager. Сервис управляющий запусками и перезапусками.
- worker. Сервис выполнения тасков. Представляет из себя менеджер воркеров и сами воркеры.
- group-information. Сервис хранит информацию о остановленных задачах. Служит для того что бы система выполнения задач могла слить ненужные таски из очереди.
- result-sender. Сервис отправки результатов. Вычитывает из очереди результаты выполнения тестов и отправляет их в систему управления параллельными запусками.
- testscanner. Система сканирования тестов. Сервис занимается обнаружением тестов в директории.
- Очередь. В текущей реализации используется RabbitMQ
- БД. В текущей реализации используется MongoDB