Я использую django беспокойный для запроса POJ ajax, который занял почти 10-20 секунд.Несколько ajax-запросов (Singleton Pattern)
Вот мой код.
class testEndPoint(Endpoint):
def post(self, request):
testForm = TestEmailForm(request.data)
if testForm.is_valid():
sometable = EmailTable.object.get(**condition)
if sometable.is_email_sent == false:
#Send Email
#Took around 15 seconds
sometable.is_email_sent = true
sometable.save()
else:
result = testForm.errors
return serialize(result)
я зову его через $.ajax
, но проблема в том, если два запроса ударил этот адрес с разницей миллисекунды времени, как запрос проходит через if sometable.is_email_sent = false:
состояние.
Как предотвратить множественную подачу. Прямо сейчас я переехал sometable.is_email_sent = true;sometable.save();
перед отправкой электронной почты, но мне нужно больше общего решения, так как есть еще десятки мест, где это происходит. Я на Джанго 1.5
Не в django и просто проходящий, но не можете ли вы установить $ .ajax для асинхронного ложного? – misha130
Мне нужно решение на стороне сервера. –
Синхронный ajax почти никогда не то, что вы хотите (вы можете закончить замораживание всего браузера в течение 15 секунд). – thebjorn