Тут есть некоторая путаница
Через cron запускаются процессы, а не потоки, поэтому проблем с блокировками быть недолжно, ведь каждый запуск - это свой процесс со своим адресным пространством. Могут быть проблемы с целостностью данных в БД.
Теперь про реализацию:
Такое лучше делать через сервис очередей вроде sidekiq.
Как это работает?
Через API sidekiq можно положить задачу в очередь ( в том числе класть можно и раз в минуту, это можно указать в config), параметры запуска хранятся в redis (который нужно будет поставить на production). Очередь задач парсинга нужно настроить на 1 поток выполнения.
Дальше sidekiq, болтаясь отдельным процессом помимо rails, берет просто самую верхнюю задачу из очереди и выполняет ее.
Таким образом, если парсинг больше минуты - просто увеличивается длинна очереди. Эту величину стоит мониторить, но если она разрастется - катастрофы не будет.
Можно делать, наверное, и через ActiveJob и в основной БД - Rails, я еще не смотрел нововведения про это.