У меня есть функция просмотра django, которая вызывает другую функцию, если условие истинно, функция вызывается как отдельный процесс, представление возвращает переменную состояния, которая показывает, была вызвана функция или нет, status возвращается в событие ajax click, назначенное кнопке.
Проблема заключается в том, что при выполнении функции do_work функция успеха ajax не запускается до тех пор, пока «do_work» не завершится.Django - Ajax HttpResponse delay
вид функции/обновление/
if condition:
p = Process(target=do_work, args(pack,))
p.daemon = True
p.start()
success = "True"
else:
success = "False"
print success
return HttpResponse(success)
Ajax вызов
$('button.update').click(function() {
id = $(this).attr('id');
$.post("/update/", {
pack : id,
}, function(result){
alert(result);
});
return false;
});
«Печать Успех» запускается на выполнение сразу в обоих случаях, но предупреждение обыкновение всплывал, пока функция do_woks не прекращает
Могу ли я запустить функцию асинхронно каким-то образом? Я думаю, что Сельдерей слишком много для моих потребностей. –
Джон, проверьте мои обновления. Может помочь... –