java - Objectify filtros mĂșltiples no funciona con cron job
google-app-engine (1)
Cuando utiliza su aplicación con un servidor de desarrollo, el servidor de desarrollo intenta averiguar qué índices necesita y los coloca en el archivo de definición de índice automáticamente. Como usa esta consulta en un trabajo cron, el servidor de desarrollo no puede ayudarlo aquí. Necesitará agregar una definición para este índice manualmente.
Estoy trabajando con Objectify en appengine, intenté agregar un trabajo cron para eliminar todas las entidades temporales que tienen más de una hora:
Iterable<Key<Entry>> allKeys = ofy().load().type(Entry.class)
.filter("temporary", true)
.filter("createdAt", oneHourAgo).keys();
if(allKeys != null){
ofy().delete().keys(allKeys);
}
pero siempre obtengo una excepción al ejecutar el trabajo cron en el servidor appengine:
com.google.appengine.api.datastore.DatastoreNeedIndexException: no matching index found.
The suggested index for this query is:
<datastore-index kind="Entry" ancestor="false" source="manual">
<property name="temporary" direction="asc"/>
<property name="createdAt" direction="asc"/>
</datastore-index>
¿Sabe alguien por que ha ocurrido esto? El trabajo funciona si elimino:
.filter("createdAt", oneHourAgo)