Estoy usando la nueva cola de tareas experimental para Java appengine y estoy intentando crear tareas que agreguen estadísticas en mi almacén de datos. Estoy tratando de contar la cantidad de valores ÚNICOS dentro de todas las entidades (de un cierto tipo) en mi almacén de datos. Más concretamente, digamos que la entidad de tipo X tiene un campo A. Quiero contar el NÚMERO de valores únicos de A en mi almacén de datos.¿Cuán grande puede ser una carga útil de tarea appengine?
Mi enfoque actual es crear una tarea que busque las primeras 10 entidades de tipo X, crear una tabla hash para almacenar los valores únicos de A in y luego pasar esta tabla hash a la siguiente tarea como carga útil. Esta próxima tarea contará las siguientes 10 entidades, y así sucesivamente hasta que haya pasado por todas las entidades. Durante la ejecución de la última tarea, contaré el número de claves en mi hashtable (que se ha pasado de una tarea a otra) para encontrar el número total de valores únicos de A.
Esto funciona para un pequeño número de entidades en mi almacén de datos. Pero me preocupa que este hashtable se vuelva demasiado grande una vez que tenga muchos valores únicos. ¿Cuál es el tamaño máximo permitido para la carga útil de una tarea appengine ?????
¿Puede sugerir algún enfoque alternativo?
Gracias.
+1 para hechos difíciles. – Kredns
¿tiene el tamaño del objeto = tamaño de carga? – aloo
Necesita serializar su objeto de alguna manera. Esa es la carga útil. Si espera que sea más de 10k, puede utilizar el truco diferido de la biblioteca de serializar la clave de una entidad del almacén de datos que contiene los datos reales. –