Чтобы получить все ваши входы формы, в том числе type = "file" , вам нужно использовать объект FormData . вы сможете увидеть содержимое formData в отладчике -> network -> Headers после того, как вы отправите форму.
var url = "YOUR_URL";
var form = $('#YOUR_FORM_ID')[0];
var formData = new FormData(form);
$.ajax(url, {
method: 'post',
processData: false,
contentType: false,
data: formData
}).done(function(data){
if (data.success){
alert("Files uploaded");
} else {
alert("Error while uploading the files");
}
}).fail(function(data){
console.log(data);
alert("Error while uploading the files");
});
Pool.map
, по сути, передает общую многопроцессорную очередь, из которой извлекаются все рабочие процессы. Каждый работник выполняет бесконечный (или фиксированную итерацию, если установлено maxtasksperchild
) цикл, который:
Он не пытается вытащить новую задачу, пока старая не будет завершена, поэтому если один работник получает дешевые задания, он будет выполнять больше; ни один работник не сидит без дела, пока задачи остаются доступными. Так что да, он делает именно то, что вы хотите; это не какой-то циклический перебор или другая статическая схема распределения работы, которая может оставить рабочих без работы, в то время как другие перегружены несколькими ожидающими задачами. Установка chunksize
может создать этот эффект, но в этом случае больше о каждом «чанке», считающемся как отдельная задача; куски затем распределяются по требованию, а не по отдельным задачам.