Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

149
Views
Fetch await tarda tanto tiempo después de que el sitio web no se visita durante un cierto período de tiempo

Tengo esta función para obtener datos de otro servidor (básicamente envía un comando para ejecutar un programa de python, que escribe una salida en un archivo de texto en la máquina remota y luego devuelve el contenido del archivo txt)

 const getServerStatus = () => { // returns result of of screen -ls const commandQuery = "python3 /home/user/scripts/getServerStatus.py && cat /home/user/scripts/status.txt"; return fetch('http://10.0.0.253:3005/fetch', { method: 'POST', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: JSON.stringify({ command: commandQuery }) }) .then(res => { return res.json(); }) .then(data => { return data.status; }) .catch(err => { // it catches when fatch fails (server is off) return 'OFF'; }); };

Y la función se ejecuta cuando el usuario visita la página de inicio.

 app.get('/', checkAuthenticated, async (req, res) => { const status = await getServerStatus() .then(data => { return data; }); res.render('index.ejs', { name: req.user.username, title: 'home', server_status: status }); })

Funciona sin problemas y devuelve datos y la página de inicio se muestra muy rápido, pero el problema es que si no actualizo la página web durante un período de tiempo (tal vez como 2-3 minutos más o menos), tome alrededor de 8-10 segundos para buscar y mostrar la página de inicio nuevamente. Simplemente no puedo entender cuál es el problema. Creo que hay algún problema con mis funciones asíncronas, pero no estoy seguro. ¿O tal vez mi servidor de nodos se pone en modo inactivo cuando no hay conexiones entrantes?

mi punto final /fetch

 app.post('/fetch', (req, res) => { exec(req.body.command, function (error, stdout, stderr) { res.send(JSON.stringify({status :stdout.replace(/\s/g, '')})); console.log('[+] SERVER STATUS SENT'); if (error !== null) { console.log('exec error: ' + error); } }); });
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Resultó que es un problema de hardware? de mi raspberry pi 4. Si ejecuto el proyecto de nodo en una raspberry pi diferente, no hace eso y funciona perfectamente sin problemas.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!