Первый запуск:
docker compose up -d
docker exec import_excel composer install
docker exec import_excel php artisan migrate
docker exec -d import_excel cron -f
docker exec -d import_excel supervisord
Дальнейший запуск одной коммандой:
docker compose up -d && docker exec -d import_excel wait-for-it.sh rabbitmq:5672 -- cron -f && docker exec -d import_excel wait-for-it.sh rabbitmq:5672 -- supervisord
Laravel (Docker, Laravel echo, redis, mariadb) Развернуть laravel в docker с установкой laravel cron и сервером очередей rabbitmq
- Реализовать контроллер с валидацией и загрузкой excel файла
- Загруженный файл через jobs поэтапно (по 1000 строк) парсить в бд (таблица rows)
- Прогресс парсинга файла хранить в redis (уникальный ключ + количество обработанных строк)
- Поля excel:
- id
- name
- date (d.m.Y)
- Для парсинга excel можете использовать maatwebsite/excel
- Реализовать контроллер для вывода данных (rows) с группировкой по date - двумерный массив
- Будет плюсом если вы реализуете через laravel echo передачу event-а на создание записи в rows
- Написать тесты
Пример файла: https://disk.yandex.ru/i/J_1cCAwLNuX4uA