Node express ile MySQL2 paketini kullanarak bir API hazırladım. Önce MYSQL paketiyle denedim aynı şey olmuştu.
API'a istek attığım zaman hiçbir problem yok, bağlantıyı getConnection ile açıyor işlemleri yaptıktan sonra release methoduyla havuza tekrar gönderiyorum.
Ama bazen API'a istek attığımda (uygulamamda kullanıyorum) cevap gelmediğini ve bir hatanın döndüğünü gördüm.
Can't add new command when connection is in closed state
Hata bu, bazen geliyor dediğim gibi her zaman değil. Nadiren geliyor ve bağlantıyı kapat gibi bir fonksiyon kullanmadım. Gerekince bağlantıyı açıyorum ve işim bitince pool'a geri yolluyorum.
Daha önce karşılaşan var mı bu sorunla? İlk kez node ile yapıyorum da.
Node MYSQL2 - Anlamadığım bir problem
4
●96
- 28-09-2023, 19:45:25
- 28-09-2023, 19:47:50Hocam muhtemelen timeout oluyor. Timeout ayarını 0 yapıp dener misinizomergundogar adlı üyeden alıntı: mesajı görüntüle
- 28-09-2023, 19:48:15onu nasıl yapabilirimaTKn94 adlı üyeden alıntı: mesajı görüntüle
private async connectMysql() { const access: ConnectionOptions = { host: process.env.HOST, user: process.env.USER, password: process.env.PASSWORD, database: process.env.DATABASE, multipleStatements: true, connectionLimit: 10, waitForConnections: true, typeCast: function (field, next) { if (field.type == "NEWDECIMAL") { var value = field.string(); return value === null ? null : Number(value); } return next(); }, }; this.con = mysql.createPool(access); } - 28-09-2023, 19:58:06omergundogar adlı üyeden alıntı: mesajı görüntüle
const pool = mysql.createPool({ host: 'localhost', user: 'root', database: 'test', waitForConnections: true, connectionLimit: 10, maxIdle: 10, // max idle connections, the default value is the same as `connectionLimit` idleTimeout: 60000, // idle connections timeout, in milliseconds, the default value 60000 queueLimit: 0, enableKeepAlive: true, keepAliveInitialDelay: 0 });Hocam muhtemelen idleTimeout işinizi görecektir. Tabi emin değilim denemekte fayda var - 28-09-2023, 23:41:44Pool kullanırken getConnection ve manuel olarak bağlantıyı havuza geri göndermek için release methodunu kullanıyordum.
Ancak pool.query ile bunun otomatik yapıldığını farkettim
tüm kodlarımı düzenledim şuanlık hiçbir sıkıntı yok gibi görünüyor.
