Последний визит: 6 октября 2026 06:44
Лучший итог для миграции. Я бы ещё повесила алерт на транзакции дольше получаса
Спрошу сейчас то же, что спрошу в зале: как у вас с уникальностью джоб и ретраями платёжных задач? В Sidekiq это у многих держится на сторонних gem'ах...
Тут две проблемы, и вторая хуже первой. `each` по relation загружает все 300 тысяч разом, отсюда память, это лечится `find_each`. Но даже с ним одна д...
Ещё классика: тест меняет настройку прямым присваиванием, например `PaymentGateway.timeout = 1`, и не возвращает обратно. Такое лучше делать через `al...
Пятнадцать секунд раз в пять минут - нормально. Плохо, если запуски начнут накладываться друг на друга. Когда поставщик лежит долго, у вас просто оста...
Чувствуешь правильно. Ловить надо только то, что имеет смысл повторять: таймауты, обрывы соединения и ответы 5xx. На 400 или 401 повтор ничего не даст...
Можно ещё хранить суммы в копейках целым числом, в платёжках их так и передают. Но для счетов с НДС BigDecimal хватает
`after_create` выполняется внутри транзакции, до коммита. Письмо уже ушло, потом транзакция откатилась, а вернуть письмо нельзя. Нужен `after_create_c...
Я на Васильевском. Вышла в 0:35, метро уже закрылось, пешком до Дворцового не успевала. Взяла такси, проскочили по Благовещенскому за несколько минут ...
И когда кто-то уходит из команды, а ключ у него был, перевыпускайте и master key, и сами секреты внутри
strong_migrations ещё поставьте, он `add_index` без concurrently просто не пропустит. Новые люди в команде забывают про это чаще всего.
Если какие-то колбэки останутся, переведи их с `after_save` на `after_commit`. Сейчас `sync_to_warehouse` может отправить на склад заказ из транзакции...
Ретраи только настройте явно через `retry_on`: у Active Job по умолчанию их нет, раньше это за вас делал Sidekiq.
Кеш. `rate_limit` считает попытки в `Rails.cache`, а в development по умолчанию `:null_store`, пока кеш не включён. Он ничего не запоминает, счётчик в...
На 50 тысячах в сутки Solid Queue справится без вопросов, это меньше одной джобы в секунду. Плюс для меня такой: если положить очередь в основную базу...