Ну а почему не использовать ActiveRecord на рельсах, и тем самым можно более эффективно манипулировать данными
items = Item.all.where('last_updated <= ?', Time.now - 6.month).limit(100)
items.each do |item|
sendSms(item.phone)
item.update(last_updated: Time.now)
end