2016-04-07 15 views
1

DB.js ile Express.js ve 'mysql' paketi ile bir Node.js sunucusu çalıştırıyorum. Bu sunucu harici bir makinede MySQL veritabanına talepte bulunur. Bu istekler, büyük katılımların yürütülmesini içerir ve beklediğim uzun bir zaman alır. Ne yazık ki, Node sabırsız ve benim amaçlarım için bu DB çağrıları uzun bir süre almak için tamam olsa bile, Node geri dönmesi için sabırla beklemek yerine DB çağrısı bir zaman aşımı hata durumu döndürüyor. Bu yapılandırılabilir mi? Düğümün sabırla beklemesini nasıl sağlayabilirim? Not, aynı sorguyu yapan bir Apache/PHP sunucusunun zaman aşımına uğramadan MySQL'ten doğru yanıt alması nedeniyle MySQL'in sorguları doğru bir şekilde döndürdüğünü biliyorum.Uzun DB istekleri için Node.js zaman aşımını önleyin

+1

bir sorgu yaptığınızda opsiyonel timeout seçeneğini kullanabilirsiniz? – Kable

+0

Oops, 'mysql' paketini kullanarak sorduğum sorudaki bazı bilgileri kaçırıyormuş gibi hissettim. Bunu da yansıtmak için soru gövdesini güncelleyeceğim. – Steverino

+0

Tamam, probs yok, cevabımı gör! – Kable

cevap

3

Ne paket veritabanı sorguları yürütmek için kullandığınız

connection.query({sql: sqlString, timeout: 60000}, function() { ... }); 

Reference

+2

Teşekkürler, bunu kaçırmaktan utanç duyuyorum, bir nedenle Node/Express belgelerinde cevabı bulmaya çalışıyordum. – Steverino

İlgili konular