В производстве только Sidekiq запускает отложенную работу, но не отправляет электронные письма

Фактически, даже если ваша переменная (SongLength) является числовой, вам все равно придется отформатировать ее с помощью% s, чтобы правильно привязать параметр. Если вы попытаетесь использовать% d, вы получите сообщение об ошибке. Вот небольшая выдержка из этой ссылки http://mysql-python.sourceforge.net/MySQLdb.html :

Для выполнения запроса сначала нужен курсор, а затем вы можете выполнить на нем запросы:

c=db.cursor()
max_price=5
c.execute("""SELECT spam, eggs, sausage FROM breakfast
          WHERE price < %s""", (max_price,))

В этом примере max_price = 5 Зачем использовать% s в строке? Поскольку MySQLdb преобразует его в значение литерала SQL, которое представляет собой строку «5». Когда это будет закончено, запрос действительно скажет: «... WHERE price & lt; 5».

0
задан fitchMitch 13 February 2019 в 09:51
поделиться

2 ответа

Может показаться глупым, но вы пытались поставить deliver_now после метода mail?

mail(
  to: poll.owner.prefered_email,
  subject: I18n.t('polls.mails.reminder.end_subject')
).deliver_now

Метод mail только создает сообщение и отображает шаблон.

0
ответ дан Abundance 13 February 2019 в 09:51
поделиться

Решение пришло из https://nicholaide.github.io/sidekiq/2016/11/06/sidekiq-service.html упоминания о том, что переменные окружения должны быть установлены внутри описания службы systemd, поскольку переменные env не были взяты из пользовательских настроек bash:

/lib/systemd/system/sidekiq.service

[Service]
Type=simple
WorkingDirectory=/var/www/show_caster/code
ExecStart=/bin/bash -lc '/usr/local/rvm/gems/ruby-2.2.7/bin/bundler exec sidekiq -e production -q mailers -C config/sidekiq.yml -L log/sidekiq.log'
Environment=RAILS_ENV=production
Environment=SMTP_SERVER=<your_smtp_server>
Environment=SMTP_EMAIL=<email_adress>
Environment=SMTP_PASSWORD=<password>
User=sesame
Group=sesame
UMask=0002
0
ответ дан fitchMitch 13 February 2019 в 09:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: