• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

648
Views
ejecutar la llamada PHP AJAX usando trabajos cron

Creé una página HTML para mi cliente para que cada vez que vaya, se ejecute un script para actualizar algunos datos en la base de datos. Tan pronto como llega a esa página, se realiza una llamada AJAX a una API de Google, se devuelven algunos resultados y luego se ejecutan algunos scripts PHP para actualizar e insertar datos en una base de datos. Por ejemplo, si va a http://www.example.com/updateScript.html , ocurre todo lo anterior.

En lugar de tener que ir allí, quiero programar una tarea diaria usando el trabajo cron. No quiero escribir toda mi lógica en PHP porque la parte de JavaScript es algo compleja. ¿Hay alguna forma de que un trabajo cron abra esa página HTML para que se ejecute mi script?

Revisé algunas preguntas en SO, como la siguiente: ¿Usando trabajos cron para visitar la URL? pero esto no funcionó para mí.

Mi comando de trabajo cron es /usr/bin/wget https://www.example.com/updateScript.html . También intenté cambiar udpateScript.html a PHP pero no funcionó. ¿Alguna sugerencia de lo que podría hacer?

about 3 years ago · Santiago Trujillo
3 answers
Answer question

0

Lamentablemente, cron no puede ejecutar javascript en la página. Sin embargo, dado que dijo que necesita una sugerencia, es posible que desee ver cURL de PHP. Puede acceder a otro sitio web en PHP usando cURL . Hay muchos protocolos que puede hacer con él y el que necesita es GET . Un ejemplo sería en este sitio .

 // Get cURL resource $curl = curl_init(); // Set some options - we are passing in a useragent too here curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 1, CURLOPT_URL => 'http://testcURL.com/?item1=value&item2=value2', CURLOPT_USERAGENT => 'Codular Sample cURL Request' )); // Send the request & save response to $resp $resp = curl_exec($curl); // Close request to clear up some resources curl_close($curl);

Además, dado que su sitio web al que desea acceder contiene javascript, es posible que desee imitar cómo su navegador solicita a su servidor como este o este .

Espero que tengas alguna idea, buena suerte con tu proyecto.

about 3 years ago · Santiago Trujillo Report

0

Los crones no funcionan para usted porque necesita que se ejecute JavaScript, sin embargo, el cron simplemente extrae el código pero no lo ejecuta.

Si desea usar JavaScript como procesador, podría considerar usar Phantom.js: http://phantomjs.org/

Aquí hay un ejemplo de cómo se hace: https://github.com/ariya/phantomjs/blob/master/examples/waitfor.js

about 3 years ago · Santiago Trujillo Report

0

Wget no ejecutará el JavaScript en la página por usted: es algo que debe hacerse en el navegador (o lo que sea que pueda actuar como tal en el servidor). Entonces, para usted, es reescribir la lógica en PHP (lo que puede ser muy doloroso, pero muy beneficioso a largo plazo) o intentar configurar algo en el servidor según las sugerencias aquí .

about 3 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error