Задача: Консультация и оптимизация Sidekiq в production-окружении
Цель: Провести аудит и оптимизацию текущей конфигурации и кода Sidekiq для повышения надежности, производительности и эффективности обработки фоновых задач в production-среде.
Ключевые задачи:
1. Анализ и оптимизация очередей:
- Проанализировать текущую структуру очередей;
- Предложить оптимальную стратегию разделения задач по очередям (priorities, ресурсоемкость);
- Настроить приоритизацию и обработку очередей.
2. Оптимизация взаимодействия с базой данных:
- Выявить и предложить решения для устранения проблем с блокировками (locks) в БД, возникающих из-за параллельного выполнения джоб;
- Проверить код джоб на предмет корректной работы с соединениями БД.
3. Анализ и рефакторинг кода:
- Провести ревью кода джоб и рабочих процессов (workers) на предмет лучших практик Ruby и Sidekiq;
- Помочь оптимизировать логику джоб для повышения их надежности и скорости выполнения (идентификация и устранение «узких мест»).
4. Конфигурация и настройка Sidekiq (желательно):
- Помочь с тонкой настройкой параметров Sidekiq (например, concurrency, timeout);
- Дать рекомендации по конфигурации Sidekiq в рамках инфраструктуры (например, настройка для Docker, управление памятью).
Требования к специалисту:
- Глубокий, подтвержденный production-опыт работы с Sidekiq;
- Понимание внутренних механизмов Sidekiq для диагностики сложных проблем;
- Знание и умение применять лучшие практики для оптимизации очередей и повышения общей производительности системы;
- Практический опыт решения проблем с блокировками (locks) в реляционных базах данных (например, PostgreSQL, MySQL) при работе с фоновыми задачами;
- Свободное владение языком Ruby с способностью проводить код-ревью, давать рекомендации по рефакторингу и оптимизации кодовой базы, связанной с джобами;
Желательные (будет большим плюсом):
- Опыт развертывания и инфраструктурной настройки Sidekiq (настройка серверов, мониторинг, управление процессами);
- Умение работать с инструментами мониторинга Sidekiq (Web UI, Sidekiq Metrics).
Условия работы:
- Формат: Консалтинг с почасовой оплатой;
- Режим работы: Удаленно;
- Ожидаемый результат: Экспертная оценка текущей реализации, конкретные рекомендации и помощь в их внедрении для создания отказоустойчивой, сбалансированной и производительной системы на базе Sidekiq.