Ruby on Rails 6/7, урок #20 | ActiveJob, Sidekiq, ActiveStorage, ActionMailer, ZIP background

preview_player
Показать описание
Очередной урок по Ruby on Rails, в котором мы узнаем, как использовать ActiveJob для обработки фоновых задач. В качестве адаптера будет задействовано популярное решение Sidekiq. Мы не только попробуем отправить письма в фоновом режиме, но и поговорим о вложениях, а также выполним обработку файлов ZIP и Excel в ActiveJob: в частности, реализуем импорт и экспорт пользователей. Также узнаем, как защитить админку Sidekiq с помощью route constraints.

Таймкоды:
00:00 Введение в фоновые задачи
01:25 Настройка Sidekiq и установка Redis
05:50 Запуск и проверка Sidekiq
08:40 Админка Sidekiq и ограничение доступа к ней
12:50 Задача для импорта пользователей
14:30 Сохранение временного файла с помощью ActiveStorage
18:40 Сервисный объект для импорта (стриминг файлов ZIP)
24:10 Завершение задачи импорта и отправка писем
26:40 Проверка импорта
27:50 Задача для экспорта пользователей
29:10 Сервисный объект для экспорта
30:40 Завершение задачи экспорта
32:00 Отправка письма с вложенным архивом
33:10 Вызов задачи экспорта
34:10 Проверка экспорта
35:10 Заключение

Аккаунт Ethereum (ETH): 0x719C2d2bcC155c85190f20E1Cc3710F90FAFDa16

Рекомендации по теме
Комментарии
Автор

Очень концентрированно, доступно и качественно изложено. Все же ряд моментов для новичков будет выглядеть как некая магия, что не очень правильно. Алгоритмы как правило тяжело просто перенести в свой проект, всегда требуется адаптация. Боюсь, с этим могут возникнуть проблемы. У Active Job/ Sidekiq существуют свои особенности с сериализацией объектов. Об этом говорится вскользь в видео, но стоило бы этому, ИМХО, посвятить больше времени, так как приходится постоянно учитывать эту особенность. Также из пожеланий - планировщики задач и примеры его использования. Прим. Некоторые образцы кода из этого видео просто бесценны, на поиск решений для тех же ссылок в Active storage могут уйти порой часы.... Так что автору спасибо и за это.

ledockol
Автор

Канал супер! Находка для рубиста. Спасибо автору ;)

null
Автор

Это просто космос! очень рад что нашел ваш канал. Рельно крутые уроки по руби. Отдельно хочу отметить всплывающий комментарии

meirzhandemeugaliev
Автор

Очень классное видео с подробным обзором, очень сильно "заходит" разбор смежных технологий...

babycook
Автор

Спасибо, тема интересная. Отличный урок.

billyd
Автор

Все сжато, но качественно =) Я как то провтыкал о существовании константинов для роутов, в основно все такое делал через base auth, но при случае использую ваше элегантное решение, спасибо!

eiipnws
Автор

Очень крутой урок получился насыщенный. У меня аж голова болела после просмотра :) - мне еще надо до уровня этого урока расти и расти по знаниям. Как говорится, твердая пища для ума! :)

rickbacker
Автор

Спасибо Вам!Очень бы хотелось посмотреть отдельный урок про ActiveStorage

vladimirgritskevich
Автор

Огромное спасибо! Как всегда контент на высоте! Осталось подвязка Stripe для определённых групп юзеров?

openpartners
Автор

Спасибо за контент, есть ли в планах записать ролик про использование паттерна интерактор?

deniszaharov
Автор

Илья подкасжите пожалуйста, если я по http запросу получаю прогноз погоды. Как лучше это сделать асинхронно? через sidekiq или каким то более низкоуровневым способом?

Obrezkasada
Автор

Можно по подробнее урок по ActiveStorage, пожалуйста? 🙏🙏🙏 Особенно интересует работа с фотогаллереей, но и вообще с файлами в целом.

hcyflrn
Автор

А что значит инструкция mount и чем она отличается от resource?

alexanonym
Автор

kafka это тоже похожее решение как и sidekiq? то есть обработчик фоновых задач?

kbikmwq
welcome to shbcf.ru