Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

256
Vistas
Cómo usar el proceso secundario y generar en la aplicación web React.js

Estoy creando esta aplicación web sobre una librería que recomienda libros en función de las selecciones de los usuarios de libros. Quiero que ejecute un script de python y para eso, he usado un proceso secundario mirando este hilo Cómo llamar a una función de Python desde Node.js

Aquí está el código:

 const spawn = require("child_process").spawn; const pythonProcess = spawn('python',["../../../python/book_recommendation.py","Timeline"]); const Recommendations = pythonProcess.stdout.on('data', (data) => { console.log(data); }); module.exports = Recommendations;

Quiero que este código se ejecute cuando haga clic en el producto y me dirija a la página productScreen. Pero me sale el error "TypeError: Spawn no es una función". Con algunas búsquedas en Google, descubrí que estoy llamando a esta función a través de reaccionar y no de node.js. Estoy usando reaccionar como frontend y node.js como backend. ¿Como puedó resolver esté problema?

Así es como importé esto en la página de reacción ProductScreen.js

 import { Recommendations } from "../machine-learning/recommendation_engine"

Aquí está la estructura de archivos de mi proyecto.

ingrese la descripción de la imagen aquí

Actualizar:

 const spawn = require("child_process").spawn; const pythonProcess = spawn('python',["../python/book_recommendation.py","Timeline"]); app.get("/product/:id", (req, res) => { pythonProcess.stdout.on('data', (data) => { console.log(data); }); });

Moví el código anterior en la carpeta backend server.js ahora. ¿Cómo lo llamo?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

No creo que sea una buena arquitectura sabia. Pero si insiste en hacerlo de esa manera, debe generar el proceso secundario cuando lleguen las solicitudes. Luego podría canalizar su salida al flujo de respuesta. En este ejemplo, estoy usando una canalización que es algo más segura que mystream.pipe .

 const spawn = require("child_process").spawn; const { pipeline } = require('stream'); app.get("/python-process", (request, response) => { const pythonProcess = spawn('python', [ "../python/book_recommendation.py", "Timeline" ]); // pipe the python process stream into the response stream pipeline(pythonProcess, response, (err) => err && console.warn(err)); });

Tenga en cuenta que no he probado esto, pero es la esencia de cómo podría hacerlo.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda