1
Güncel sonrası isteği:Node.js'de posta isteği nasıl sıraya konulur?
app.post('/rImage', rawBody, function (req, res) {
// ---- check here, if this process is running ? ----
var data = req.rawBody;
var escapedData = data.replace(/([<>|&^])/g, "\^$1"); // Windows CMD escaping
exec('cscript /nologo C:/PS/Automation/render.vbs C:/PS/Automation/image.jsx"'+escapedData + '"',
function (error, stdout, stderr) {
console.log('stdout: ' + escapedData);
if(error !== null) {
console.log('exec error: ' + error);
}
res.send(stdout);
//request finished
});
});
Nasıl sonuncusu bittiğinde bir sonraki istek kaldırdığı anlamına yüzden bu bir kuyruk sistemi uygulamak olabilir?
Adnvance'de teşekkürler!
1:
İşte işlevselliğini gösteren bir keman var. Kütüphaneler için, [async] 'ı (https://github.com/caolan/async#queue) deneyin. [RabbitMQ] (https://www.rabbitmq.com/) –
gibi biraz daha altyapıya dayalı bir şey de yapabilirsiniz. Async kitaplığı çok ilginç görünüyor, bunu daha önce bilmiyordum. Fakat eğer doğrudan bir uygulamaya geçeceksek, yukarıdaki kodda ne geliştirirsin? - Biraz daha zengin bir erkeğin kuyruğunu yapmak için ;-) –
Ne yaptığımıza, neden sıraya koyduğumuza, eğer onu büyütmeye ihtiyacımız varsa, vb. bağlıdır. biraz VBScript yürütüyor muyuz? Bu durumda, bir şeyi değiştireceğimi sanmıyorum çünkü sadece betiğin yalnızca bir seferde yürüdüğünden emin olmak istiyoruz (eşzamanlı olarak çalıştırılırsa VBScript'in kırılacağını varsayalım). Eşzamanlı çalışma sayısı söz konusu olduğunda esneklik istiyorsak, async.queue'ye ulaşabilirim. Eğer bir çeşit yavaş işlemse, başka bir sunucuya boşaltabiliriz, RabbitMQ kullanabilirim. –