Я могу только догадываться, но похоже, что вы делаете небольшую DoS-атаку на сервер, с которого вы извлекаете изображения.
Вы можете попробовать играть с небольшой задержкой между последовательными запросами (например,"sleep 1").
Кроме того, если ваше "выполнение истекло", это исключение Timeout :: Error, то вы не можете перехватить его с помощью
rescue Exception => e
, поскольку Timeout :: Errorне является подклассом StandardError, это подкласс класса Interrupt.Вы должны это уловить явно, вот так:
rescue Timeout::Error => e