Deliver_later

На одному проекті інтернет-магазину виникали помилка після завершення оформлення замовлення. В момент надсилання email повідомлення адміністратору магазину про нове замовлення, відбулась проблема з'єднання із SMTP-сервером, в наслідок чого користувач бачив у браузері помилку

Теоретично такого не мало б відбутися, оскільки за змовчанням у ActiveJob використовується ansync адаптер і виклик методу deliver_later мав би виконатися у фоновому режимі

Але ActiveJob виконувався синхроно, було б добре розібратися чому саме так.

Для вирішення даної проблеми, використаємо gem sidekiq який дозволяє rails породжувати нові процеси, які будуть працювати у фоновому режимі.  В основі гема задіяна модель акторів. Його інсталяція досить проста – додати гем в Gemfile:

Вказуємо сервер черги у config/application.rb:

Інсталюємо Redis сервер

Оскільки отримання email'а є важливим, задаю 100 спроб у разі невдачі

В development середовищі запускається досить просто:

Перевірка показала асинхронну роботу

Для деплоя добавляємо у Gemfile gem:

Добавляємо в Capfile

Як бачимо у нас буде інтегація з monit, який буде запускати sidekiq у разі його падіння, тому на продакшені інсталюємо його

В /etc/monit/monitrc дозволяємо http для localhost'у

Та перезапускаємо 

Action Mailer використовує чергу mailers, задаємо її для sidekiq у config/deploy.rb

Далі деплоємо проект

Deploy Ruby on Rails – Nginx/Passenger/Postgres/Capistrano (ОНОВЛЕНО)

Приклад деплоя app на Ruby On Rails

В даній замітці розглядається приклад деплою проетку під назвою tools на  VPS-сервер Ubuntu 17.04 в каталог /home/deployer/apps/project/, код проекту знаходиться на git-сервері bitbucket.org у приватному репозиторію. Використовуємо Ruby 2.4.0 та Ruby On Rails 5

Continue reading

Owl Сarousel кастомізація стрілок

Приклад

 

Добавляємо class до картинки, яку вставляємо в CKEditor’і

ckeditor/config.js
 

 

amazon linux command line

AWS CLI – інтерфейс командного рядка AWS – це єдиний інструмент для управління сервісами AWS. Завантаживши всього один засіб, ви зможете контролювати безліч сервісів AWS з командного рядка та автоматизувати їх за допомогою сценаріїв.

В системі має бути встановлений pip

Встановлення певних заложностей(у мене виникала помилка error: command 'x86_64-linux-gnu-gcc' failed with exit status 1)

Інсталюємо

Після інсталяції виконуємо конфігурування, де вводимо дані для доступу до aws

Довілник по командному рядку

aws-shell  – це програма, що представляє собою зручну і ефективну командну оболонку, яка допоможе як новим, так і досвідченим користувачам інтерфейсу командного рядка AWS. Нижче перераховані основні можливості програми.

 

Deploy Ruby on Rails – Nginx/Passenger/Postgres/Capistrano/LXC

Приклад деплоя app на Ruby On Rails

В даній замітці розглядається приклад деплою проетку під назвою tools на   VPS-сервер Ubuntu 14.04 в каталог /home/deployer/apps/project/, код проекту знаходиться на git-сервері bitbucket.org у приватному репозиторію. Використовуємо Ruby 2.4.0 та Ruby On Rails 5

 

Continue reading

Deploy Ruby on Rails – Nginx/Passenger/Postgres/Capistrano

 

Приклад деплоя app на Ruby On Rails

В даній замітці розглядається приклад деплою проетку під назвою tools на   VPS-сервер Ubuntu 16.04 в каталог /home/deployer/apps/project/, код проекту знаходиться на git-сервері bitbucket.org у приватному репозиторію. Використовуємо Ruby 2.4.0 та Ruby On Rails 5

 

Continue reading