
adruiz
Gamma
Verificación en dos pasos activada
Verificado por Whatsapp
Ocurre que estoy programando un plugin para Wordpress (planteo el problema aquí porque es más una cuestión de PHP que de WP), con el cual cada vez que implemento un shortcode se llama a una función que tiene un fopen apuntando a la API de AWS. Esta función devuelve unos valores u otros dependiendo del contenido del shortcode.
¿Qué ocurre entonces? Que si hay varios shortcodes en el post, el código ejecuta el fopen muy seguido y en un punto falla, dando un Exception error.
Mi solución (provisional) es usar dos usleep de medio segundo, uno después de llamar a la función y otro si el fopen da error, para luego volver a definirlo. Sería algo como esto:
Como posible solución, funciona, pero me gustaría encontrar una solución más elegante. ¿Alguna sugerencia?
¡Gracias!
¿Qué ocurre entonces? Que si hay varios shortcodes en el post, el código ejecuta el fopen muy seguido y en un punto falla, dando un Exception error.
Mi solución (provisional) es usar dos usleep de medio segundo, uno después de llamar a la función y otro si el fopen da error, para luego volver a definirlo. Sería algo como esto:
PHP:
function getItem(){
// $host, $uriPath, $stream ...
$fp = @fopen('https://'.$host.$uriPath, 'rb', false, $stream);
if(!$fp) {
usleep(500000);
$fp = @fopen('https://'.$host.$uriPath, 'rb', false, $stream);
if(!$fp) throw new Exception("Exception Occured");
}
// ...
}
getItem();
usleep(500000);
Como posible solución, funciona, pero me gustaría encontrar una solución más elegante. ¿Alguna sugerencia?
¡Gracias!