Я запускаю скрипт ruby с rails runner
. По сути, скрипт перебирает трехбуквенные поисковые термины, выполняет несколько запросов GET по каждому поисковому запросу и условно фиксирует базу данных. См. Базовую схему ниже.
[*('a'..'z')].each do |first_letter|
[*('a'..'z')].each do |second_letter|
[*('a'..'z')].each do |third_letter|
search_term = first_letter + second_letter + third_letter
puts search_term
# ...
# Some get requests, database saves, etc
end
end
end
Запуск скрипта с rails runner
работает совершенно нормально ... какое-то время. В какой-то момент он как-то снова запускает цикл параллельно. Это puts
начинает распечатывать:
aga
agb
agc
agd
agd
age
age
agf
agf
...
Чем дольше я его оставляю, тем больше оно начинает повторяться. Вскоре цикл запускается в 4 параллельных экземплярах. В этот момент я обычно останавливаю это, потому что логически для меня не имеет смысла, чтобы этот цикл вдруг решил несколько раз запустить себя в параллельном режиме и увеличить параллельные прогоны со временем.
Есть ли что-тоо рельсе бегуна, которого я не понимаю?