J'utilise la nouvelle taskqueue expérimentale pour java appengine et j'essaie de créer des tâches qui agrégent les statistiques dans mon datastore. J'essaie de compter le nombre de valeurs UNIQUES dans tous les droits (d'un certain type) dans mon datastore. Plus concrètement, disons que l'entité de type X a un champ A. Je veux compter le nombre de valeurs uniques de A dans mon magasin de données.Quelle peut être la charge utile d'une tâche appengine?
Mon approche actuelle est de créer une tâche qui interroge pour les 10 premières entités de type X, la création d'une table de hachage pour stocker les valeurs uniques de A, en passant alors ce Hashtable à la tâche suivante que la charge utile. Cette prochaine tâche comptera les 10 prochaines entités et ainsi de suite jusqu'à ce que j'ai traversé toutes les entités. Lors de l'exécution de la dernière tâche, je vais compter le nombre de clés dans mon Hashtable (ce qui a été passé d'une tâche à tout le long) pour trouver le nombre total de valeurs uniques de A.
Cela fonctionne pour une petite nombre d'entités dans mon magasin de données. Mais je crains que cette hashtable devienne trop grande une fois que j'ai beaucoup de valeurs uniques. Quelle est la taille maximale autorisée pour la charge utile d'une tâche appengine?
Pouvez-vous suggérer des approches alternatives?
Merci.
+1 pour les informations sur les conditions d'utilisation. – Kredns
la taille de l'objet = taille de la charge utile? – aloo
Vous devez sérialiser votre objet en quelque sorte. C'est la charge utile. Si vous vous attendez à ce qu'il soit supérieur à 10 Ko, vous pouvez utiliser l'astuce de la bibliothèque différée pour sérialiser la clé d'une entité de banque de données contenant les données réelles. –