У меня есть миллион строк в моей БД. Мне нужно экспортировать все их в CSV-файл.
Проблема в том, что у меня ошибка лимита времени ожидания.
Итак. Я решил сделать это через ajax.
Я создал ajax, который генерирует мне несколько файлов tmp csv
function chunkedExport()
{
$.ajax({
type: "POST",
url: "transactions/",
dataType: "JSON",
data: $("#transactions").serialize(),
async: false,
success: function(response)
{
if (response.status === "continue")
{
$("#start_from").val(response.start_from);
$("#client_file_name").val(response.client_file_name);
$("#file_name").val(response.tmp_file_name);
$("#step").val(response.step);
chunkedExport();
} else {
console.log('DOWNLOAD');
$("#start_from").val(0);
$("#client_file_name").val('');
$("#file_name").val('');
$("#step").val(1);
$("#export_type").val("");
$('#csv_format').val("");
document.location.href = '/transactions_export_csv/'+response.client_file_name+'/'+response.tmp_file_name+'/'+response.total_iterations+'/'
}
},
error: function (xhr, ajaxOptions, thrownError) {
console.log([xhr, ajaxOptions, thrownError]);
$("#start_from").val(0);
$("#client_file_name").val('');
$("#file_name").val('');
$("#step").val(1);
$("#export_type").val("");
$('#csv_format').val("");
}
});
}
вопрос в том, как объединить их все в один CSV-файл и загрузить его?