Si un usuario visita un sitio y su visita desencadena un trabajo cron que es bastante intenso, la velocidad de carga de la página será más lenta para él, ¿verdad? Según tengo entendido, la página no espera a que se ejecute el trabajo cron antes de cargarse, pero dado que el trabajo cron se estaría ejecutando en paralelo, aún podría darse el caso de que la página cargue más lentamente ya que el servidor está ocupado, ¿verdad?
8
Respuestas:
Respuesta corta - Nop . Cualquier solicitud de página inicializa la cola programada. Es solo una solicitud de inicialización. La solicitud Wp-cron es una solicitud independiente.
Sin embargo, si el evento cron no funciona realmente bien (tiene 1000 consultas db, por ejemplo, o solicita un recurso realmente muy largo para responder), o ambos, o reprograma el evento cron para cada solicitud ... como cualquier otro otra solicitud http consumirá recursos, rendimiento de la CPU, memoria, etc., si consume suficientes recursos, su página se volverá más lenta.
fuente
La respuesta corta es en realidad sí , en la mayoría de los casos.
En primer lugar, en la mayoría de las configuraciones, la generación de un trabajo cron incurre en un retraso de 1 segundo en la carga de la página, porque se realiza a través de una solicitud HTTP de bucle invertido con un tiempo de espera de 1 segundo; consulte https://wordpress.org/support/topic/save -a-full-second-on-cron-ejecución / .
En segundo lugar, el trabajo generado ahora competirá con la carga de la página por el acceso a la base de datos (así como otros recursos). Múltiples procesos pueden leer la base de datos simultáneamente; sin embargo, cada vez que un proceso está escribiendo en la base de datos, por defecto está bloqueado para evitar el acceso simultáneo de escritura o lectura por cualquier otro proceso; consulte /programming/1005206/does-sqlite-lock-the-database -file-on-reads # answer-1005218 . El impacto de esto depende de cuán complejas sean las actualizaciones de la base de datos del trabajo cron y durante cuánto tiempo esté realmente bloqueada la base de datos, y puede ser insignificante. Por supuesto, también sería un problema si un trabajo cron se ejecutara cuando se solicita una página, pero tener trabajos cron generados en la carga de la página garantiza afectarán al menos esa carga de página.
Si su servidor / hosting lo permite, se recomienda configurar un trabajo cron programado para que se ejecute cada pocas horas, con el comando
y deshabilite el desove cron en la carga de la página con la siguiente entrada en
wp-config.php
:fuente
private
métodos comoWP_Http::_dispatch_request
los que están ahora nunca llamó.)