我的Laravel 5.6应用程序在99.9%的时间内运行良好。我正在运行一个“自动保存” JS脚本,该脚本每30秒对服务器进行ajax调用。
$.ajax({
type: "POST",
url: '/model/1/autosave',
data: $('#doc-form').serialize() + '&_token={{ csrf_token() }}',
success: function(data) {
...
},
error: function(data) {
...
}
});
此自动保存效果很好。但是间歇性地,大概只有10000的1次,我得到这个错误:
Illuminate\Database\QueryException POST /model/1/autosave
SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known
(SQL: select * from `sessions` where `id` = xxxxxx limit 1)
该错误永远不会出现在任何其他POST调用上,它始终在此自动保存中。有时会说HEAD
而不是POST
。错误始终是指试图获取会话ID的SQL语句。
是的,我的数据库信用是正确的-在此实时应用程序中,所有其他时间都成功使用了它们。
此线程https://forums.aws.amazon.com/thread.jspa?threadID=143413具有延长DNS查找超时的想法,但是我认为这不是我的选择。
我的数据库在AWS RDS上的JawsDB上运行。
有什么想法吗?