Я создал очень простое приложение rails, которое берет список продуктов, создает записи продуктов для каждого, обращается к стороннему API, используя идентификатор продукта, и соответственно заполняет соответствующие данные о продукте из ответа в каждую запись продукта в приложении.
Это отлично работает локально со списком до дюжины продуктов или более, так сказать, все на лету во время выполнения. Изображения и все такое.
Кроме того, я добавил ведение журнала, чтобы показать, когда происходит вызов API, и зарегистрировать необработанный ответ XML. Локально работает нормально.
Я развертываю на героку и ищу любой идентификатор, он ломается. Приложение выдает что-то похожее на 500 («что-то пошло не так») только для того, чтобы позже увидеть, что соответствующие объекты продукта действительно были созданы, хотя данные о продукте не были заполнены, а вызов API никогда не выполнялся. (Буквально ничего не регистрируется, ошибка или что-то еще.)
Помимо передового опыта, мне интересно, должны ли все сторонние вызовы API на heroku выполняться из фоновых заданий или, возможно, есть что-то еще, что мне не хватает.
Я тоже реализовал activejob, но все равно получаю те же результаты. Что бы это могло быть?
Спасибо за вашу помощь.