Obteniendo este error en una de mis páginas después de implementar en vercel, todo funciona bien en el modo de desarrollo.
Creo que el problema podría ser una de mis API/búsqueda, ya que utiliza los datos de la primera solicitud de búsqueda como URL para la segunda solicitud de búsqueda...
Todas mis otras páginas con diferentes API/solicitudes de búsqueda funcionan bien...
export const fetchData = async (page) => { try { const req = await fetch( "https://www.productpage.com/new/" + page ); const html = await req.text(); const $ = cheerio.load(html); let newProducts = []; for (let i = 1; i < 25; i++) { let name = $(`#product_listing > tbody > #_${i} > td:nth-child(2) > a`) .text() .replace(/\n/g, ""); let pageSrc = $( `#product_listing > tbody > #_${i} > td:nth-child(2) > a` ).attr("href"); const price = $(`#product_listing > tbody >#_${i} > td.price.notranslate`) .text() .replace(/\n/g, ""); pageSrc = "https://www.productpage.com" + pageSrc; const req2 = await fetch(pageSrc); // here it is using data from first fetch for a 2nd request.. const html2 = await req2.text(); const $2 = cheerio.load(html2); const imageSrc = $2( "#product-main-image .main-image-inner:first-child img" ).attr("src"); const name2 = $2("#product-details dd:nth-child(2)") .text() .replace(/\n/g, ""); const brand = $2("#product-details dd:nth-child(4)") .text() .replace(/\n/g, ""); newProducts.push({ name: name, name2: name2, brand: brand, pageSrc: pageSrc, price: price, imageSrc: imageSrc, }); } return newProducts; } catch (err) {} }; module.exports = { fetchData, };Este error sugiere que la respuesta de la API está tardando demasiado en responder .
Cuando usa Vercel con un plan Hobby , sus rutas API sin servidor solo se pueden procesar durante 5 segundos . Esto significa que después de 5 segundos, la ruta responde con un error 504 GATEWAY TIMEOUT .
Estos mismos límites no se aplican cuando se ejecuta localmente con next dev .
Para resolver esto, necesitaría reducir la cantidad de tiempo que su ruta API tarda en responder o actualizar su plan de Vercel.