我知道有很多相关的文章,我已经尝试了其他共享的大部分建议。以下是我的代码的部分列表
$(document).ready(function() {
$("#cron").click(function(event) {
$('.update-body').html('<br />Performing updates...<br />')
event.preventDefault();
event.stopPropagation();
var request = $.ajax({
url: 'http://xx.xx.xx.xx/update/longprocessing',
type: "GET",
contentType: "application/json",
beforeSend: function (xhr) {
var token = $('meta[name="csrf_token"]').attr('content');
if (token) {
return xhr.setRequestHeader('X-CSRF-TOKEN', token);
}
},
dataType: "json"
});
request.done(function(status) {
var msg = "";
if(status.msg == '1')
{
msg = '<div class="alert alert-success">Successfully updated.</div>';
}
else if(status.msg == '2')
{
msg = '<div class="alert alert-info">No updates</div>';
}
$('.update-body').html(msg);
});
request.fail(function(jqXHR, textStatus) {
var acc = []
$.each(jqXHR, function(index, value) {
acc.push(index + ': ' + value);
});
$('.update-body').html('<div class="alert alert-danger">' JSON.stringify(acc) + '</div>');
});
});
});
Processing.php预计平均需要40分钟才能完成。这是问题,代码运行良好,当我在Windows 10平台上运行XAMPP时返回成功消息。
当我在XAMPP下将代码移动到Linux时,processing.php显示没有错误并且运行完全正常(因此php代码没有错)但是当我监视网络性能时,等待(TTFB)时间到第一个字节命中15分钟,出现以下错误消息:无法加载资源:在jquery ajax代码中的某处生成了状态为500(内部服务器错误)的服务器响应。我正在使用jquery1.12.3。
非常感谢任何帮助。
我有时也会意识到,我的php函数第一次调用,6分钟后调用,第二次调用,然后是503服务不可用。它不会发生在windows下的xampp中,而是发生在linux中。我正在使用laravel 5.2框架如下:
Route::get('/update/longprocessing', ['as' => 'UpdateProcess', 'uses' => 'Project\ProcessJobs@UpdateProcess']);
在我的ProcessJobs.php中,代码如下:
public function UpdateProcess () {
Log::debug("Update Process started");
$counter =0;
//get path to linux folder
...
//loop through folder to get all 35000 csvfiles
foreach (xxx as xxx) {
//for each file, read content, process and write to a single common csv files.
$counter++;
Log::debug("counter value : " . $counter);
}
return response()->json(['msg'=>'1']);
}
日志文件显示以下内容:
Update Process started
counter value : 1
counter value : 2
counter value : 3
...
...
counter value : 10000
Update Process started <--- this is the second time it is called
counter value : 10001 <--- counter still continue from previous.
counter value : 10002 <--- log file stop here and server return 503 service unavailable error.