miércoles, 9 de noviembre de 2011

El límite de los feeds

Paginar es separar las entradas del blog en grupos que tienen una determinada cantidad de ellas de tal forma que podemos verlas "saltando" de unas a otras sin necesidad de hacerlo secuencialmente tal como ocurre con el típico sistema de Blogger donde avanzamos o retrocedemos pero, siempre en orden cronológico.

Hay muchos scripts que hacen eso pero todos ellos tienen una limitación fundamental; en Blogger siempre debemos usar los feeds para casi cualquier cosa y los feeds no son infinitos, tienen un tamaño máximo; por lo tanto, jamás podremos leer el 100% de las entradas si la cantidad publicada supera dicho límite. Ese número máximo es 500.

De allí; que algunas personas pregunten ¿qué pasa? cuando utilizan Json para mostrar algo y eso que queremos ver, es incompleto.

La cantidad de entradas a leer se establece con el parámetro max-results; por ejemplo:
/feeds/posts/default?alt=json-in-script&max-results=VALOR&alt=json-in-script&callback=FUNCION
¿Qué debemos tener en cuenta con ese tipo de scripts? Dos cosas: si el valor es muy alto, el tiempo de carga aumentará pero, aún más, cuando hacemos este tipo de cosas, los datos del feed se cargan y se procesan, es decir, hay un código que los lee, los ordena, busca, cambia y muestra algo de alguna manera y todo eso, se ejecuta una cantidad de veces. Obviamente, si los datos a procesar son muchos, el tiempo que lleva ejecutar esas instrucciones aumenta y puede llegar a aumentar tanto que el navegador nos muestre una ventanita diciendo que un script de la página está demorando mucho y nos dará la opción de continuar o detener la operación.

Por lo tanto, la cantidad que usemos en max-results, debe ser un valor "lógico" aunque es imposible definir cuál es ese número exacto ya que dependerá de la longitud de las entradas. Se pueden cargar muchas si son cortas pero conviene cargar pocas si son largas.

El segundo punto importante es acordarse que hay un máximo de 500 entradas que pueden ser leídas de una sola vez, por más que coloquemos un valor mucho mayor, nada ocurrirá, no habrá errores pero se leerán 500 así que poner esto:
/feeds/posts/default?alt=json-in-script&max-results=9999&alt=json-in-script&callback=FUNCION
es lo mismo que poner esto:
/feeds/posts/default?alt=json-in-script&max-results=500&alt=json-in-script&callback=FUNCION
Es fácil de comprobar. En este ejemplo se pueden cargar los feeds de este blog y procesarlos; allí se verá cuantas entradas hay publicadas, cuantas entradas son leídas y el título de la entrada más vieja a la que puede accederse; noten el tiempo que se tarda en leer y mostrar el resultado, pese a que en realidad, el script no hace nada:

20 | 100 | 500 | 1000



No hay comentarios:

Publicar un comentario