habe ich eine URL Shortener Algorithmus Ruby + MongoMapperRace Condition, URL Shortener Algorithmus/Rails/MongoDB/MongoMapper
Es ist eine einfache URL Shortener Algorithmus mit maximal 3 Ziffern http://pablocantero.com/###
Wo jeder # kann sein [az] oder [AZ] oder [0-9]
Für diesen Algorithmus, ich brauche vier Attribute auf MongoDB ( durch MongoMapper)
class ShortenerData
include MongoMapper::Document
VALUES = ('a'..'z').to_a + ('A'..'Z').to_a + (0..9).to_a
key :col_a, Integer
key :col_b, Integer
key :col_c, Integer
key :index, Integer
end
persistieren
habe ich eine andere Klasse ShortenerData zu verwalten und die einzigartige Kennung
class Shortener
include Singleton
def get_unique
unique = nil
@shortener_data.reload
# some operations that can increment the attributes col_a, col_b, col_c and index
# ...
@shortener_data.save
unique
end
end
Die Shortener Nutzung
Shortener.instance.get_unique
Meine Zweifel zu erzeugen, wie kann ich get_unique synchronisiert, meine app machen wird eingesetzt auf Heroku, können gleichzeitige Anfragen Shortener.instance.get_unique