Abbiamo un codice spesso colpiti nella nostra app che incrementa una colonna, in questo modo:Posso eseguire un incremento atomico in Rails 2.3 senza scendere a SQL?
if (r = customer.find_or_generate_reminder)
r.counter += 1
r.save!
end
stiamo ottenendo blocco timeout di attesa, così sto pensando di fare questo un'operazione atomica. Ingenuamente, quello che voglio fare è simile al seguente:
if (r = customer.find_or_generate_reminder)
connection.excute('UPDATE customer_reminders SET counter=counter+1, updated_at=now() WHERE id = ' + r.id)
end
Esiste un modo rubino mondo di fare la stessa cosa?
Ci siamo spostati su da questo problema, ma che sembra una buona soluzione. Grazie! – Simon