Size: a a a

Saint P Ruby Community

2020 April 14

AR

Anna Razumova in Saint P Ruby Community
Anton Davydov
а у тебя это в продакшене или локально появилось?
на стейдже
источник

AD

Anton Davydov in Saint P Ruby Community
Anna Razumova
на стейдже
а логов нет, но в базу пишет или письма отправляет?
источник

AR

Anna Razumova in Saint P Ruby Community
херня чисто стейджинговая, перенаправляю все алерты (смс емейлы пуши итд) в специальный слак канал
источник

AR

Anna Razumova in Saint P Ruby Community
Anton Davydov
а логов нет, но в базу пишет или письма отправляет?
нет, не делает ничего
источник

AR

Anna Razumova in Saint P Ruby Community
в сайдкик логах только что start и done
источник

AD

Anton Davydov in Saint P Ruby Community
Ilya Nikolaevich
ну так и я в рельсу лет 5 назад умел.
Но я все равно не верю, что оно само способно узнавать, что код изменился. Хотя вы программисты чего только не придумаете.
понимаю 🙁

там был ПР вроде как в сайдкик, что бы так делать, но я его уже не найду наверно
источник

AG

Alex G in Saint P Ruby Community
В зависимости от способа запуска/перезапуска/мониторинга иногда может быть 2+ бегущих процесса сайдкика.
И задачу подхватыват старый, который давно не перезапускался. Стоит чекнуть процессы на всякий пожарный.
Ну и вообще прибить сайдкик руками, чтобы убедится наверняка, что оно подгрузило свежий код.
источник

AG

Alex G in Saint P Ruby Community
Еще может быть такое, что в системе 2 воркера с одинаковым названием. Один пустой 🤷‍♂️
источник

AG

Alex G in Saint P Ruby Community
без кода, конечно, можно долго гадать )
источник
2020 April 15

AR

Anna Razumova in Saint P Ruby Community
Вчерашняя проблема была из-за того что я передавала options вместо объявленных параметров и при использовании метода в сайдкике, параметры не могли распарситься. Оно там все условия миновало, поэтому и не падало
источник

IN

Ilya Nikolaevich in Saint P Ruby Community
Anna Razumova
Вчерашняя проблема была из-за того что я передавала options вместо объявленных параметров и при использовании метода в сайдкике, параметры не могли распарситься. Оно там все условия миновало, поэтому и не падало
👍 нихрена не понял, но очень интересно.
источник

IN

Ilya Nikolaevich in Saint P Ruby Community
любой кодсниппет был бы кстати. Просто из любопытства посмотреть, как оно там сейчас.
источник

AR

Anna Razumova in Saint P Ruby Community
ща все буит
источник

AR

Anna Razumova in Saint P Ruby Community
Упррощенно
def perform(type, options)
if type == :sms
         RL.info("send sms to slack channel:  #{options[:text]}")
         send_to_slack(options[:text])
       elsif type == :email
         RL.info("send email to slack channel: #{options[:email]}, subject: #{options[:subject]}, body: #{options[:body]}")
         send_to_slack(options[:email], "subject: #{options[:subject]}\nbody: #{options[:body]}")
       end
end
источник

AR

Anna Razumova in Saint P Ruby Community
при прогоне через сайдкик все параметры этого метода превращаются в текст, а хеш по моему в джейсон, но тут могу соврать, не смотрела точно
источник

AR

Anna Razumova in Saint P Ruby Community
решилось тем что я стала передавать готовый текст который надо отправить в слак
источник

AR

Anna Razumova in Saint P Ruby Community
с которым не надо ничего делать
источник

IN

Ilya Nikolaevich in Saint P Ruby Community
да, звучит логично. Лучше всегда использовать самые простые типы. Очень трудно полагаться на автоматическую сериализацию
источник

VD

Vla Dem in Saint P Ruby Community
Или тестировать) если использовать active_job и have_enqueued матчеры, то будет протестирована и сериализация/десериализация
источник

AG

Alex G in Saint P Ruby Community
Была похожая задача. Нужно было из разных приложений/процессов закидывать в один сайдкик задачи.

Придумал вот такие события, которые сериализуются и десериализуются из json-a

Но это, наверное, перебор для вышеупомянутой задачи. Просто способ проконтролировать, что у нужного типа сообщения есть все нужные параметры.
источник