Podemos configurar el intervalo de tiempo de cron job mediante PHP, de modo que el intervalo de tiempo no se establezca manualmente, sino mediante un script PHP, ya sea que requiera un intervalo de tiempo desde la base de datos o fijo (pero desde dentro del código PHP).
Gracias de antemano¿Podemos configurar el intervalo de tiempo de cron job a través del script PHP?
Respuesta
Creo que es mucho mejor dejar que su aplicación controle la frecuencia de eventos en lugar del cronjob. Deje que el cronjob ejecute una acción determinada de su aplicación cada minuto. La acción, por ejemplo, comprueba una tabla de base de datos llamada cronjobs y ejecuta las tareas marcadas para ejecutarse mediante un número de frecuencia o una marca de tiempo.
Si lo hace así, puede agregar nuevos trabajos programáticamente desde cualquier lugar, p. a través de una interfaz cronjob. La solución es más fácil de mantener, probar y documentar.
Hay dos maneras. O bien, vuelva a crear el crontab en cada cambio del valor deseado o haga que la tarea cron se active regularmente, p. cada minuto, y prueba la condición de inicio desde el script.
Si hay suficientes privilegios de servidor, debe poder hacerlo utilizando una llamada de nivel de sistema desde su script PHP, usando system().
Lo mejor para hacer esto, probablemente sería escribir un script PHP que sea capaz de crear un archivo crontab
(y ejecutar el script con privilegios suficientes para hacerlo).
Este site ofrece un buen tutorial.
Sin embargo, la dependencia de cron
hará que su código dependa de plataformas compatibles con cron
. Por lo tanto, otra solución sería implementar la lógica de ejecución temporizada en PHP en sí (es decir, buclear el código y verificar la hora usted mismo).
Puede combinar las dos soluciones anteriores, creando un Scheduler
-interface que puede asignar a un script, y se asegurará de que se ejecute en los momentos adecuados. De esta manera se puede implementar usando cron
en Linux, pero de otra manera en Windows:
interface Scheduler {
function schedule($script);
}
class CronScheduler {
function schedule($script) {
append_cronjob($script);
}
}
Aunque, podría estar exagerando aquí.
Si desea hacer esto, le sugiero que use Message Queue Beanstalkd en su lugar. Puede hacer programmatic de retraso y es muy rápido. Te aconsejo que uses pheanstalk para hablar con Beanstalkd.
- 1. cómo configurar el trabajo cron desde el script php?
- 2. ¿Cómo puedo configurar el trabajo cron a través del script PHP?
- 3. php cron job cada 10 minutos
- 4. Cómo enviar correos electrónicos a través de cron job usng PHP mysql
- 5. CRON job for codeigniter
- 6. Cron Job $ _SERVER issue
- 7. Ejecutando un Cron Job
- 8. puede hacer que un script php se ejecute para siempre con Cron Job?
- 9. sendRedirect después del intervalo de tiempo evitando javascript o php
- 10. ¿Cómo configurar una tarea cron a través de PHP (no CPanel)?
- 11. Linux: ejecutar cron job en primer plano
- 12. ejecutando un script php a través de cron, ¿cómo puedo registrar cualquier salida?
- 13. Cron Job Log - ¿Cómo iniciar sesión?
- 14. Cron Job in play framework 2.0
- 15. ejecutar script php solo por cron
- 16. Accediendo a la clave SSH desde el script bash ejecutándose a través de un trabajo cron
- 17. Seguimiento del tiempo de ejecución del script en PHP
- 18. Extendiendo el tiempo de espera de la sesión en PHP a través del .htaccess
- 19. PHP Concurrency via Cron
- 20. Tortphp cron job para llamar a la acción de un controlador
- 21. Ejecución de cron job en Linux cada 6 horas
- 22. ¿Cómo podemos contar el tiempo del proceso?
- 23. git push a través de cron
- 24. PHP script ... ¿retrocede en el tiempo?
- 25. ¿Cómo agregar dinámicamente el intervalo a la marca de tiempo?
- 26. Script Bash para ejecutar el script php
- 27. Cómo creo un crontab a través de un script
- 28. PHP y cron: problemas de seguridad
- 29. mostrar el intervalo de tiempo muy bien
- 30. ¿Cómo ejecuto un script php a través de SSH?