def view(collection_id): """ --- get: summary: Get a collection description: Return the collection with id `collection_id` parameters: - description: The collection ID. in: path name: collection_id required: true schema: minimum: 1 type: integer responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/CollectionFull' tags: - Collection """ data = get_index_collection(collection_id) cobj = get_db_collection(collection_id) if get_flag("refresh", False): update_collection_stats(collection_id, ["schema"]) data.update({ "statistics": get_collection_stats(cobj.id), "status": get_status(cobj), "shallow": False, }) return CollectionSerializer.jsonify(data)
def compute_collection(collection, sync=False): key = cache.object_key(Collection, collection.id, 'stats') if cache.get(key) and not sync: return cache.set(key, 'computed', expires=cache.EXPIRE - 60) log.info("Collection [%s] changed, computing...", collection.id) index.update_collection_stats(collection.id) index.index_collection(collection, sync=sync)
def compute_collection(collection, force=False, sync=False): key = cache.object_key(Collection, collection.id, "stats") if cache.get(key) is not None and not force: return refresh_collection(collection.id) log.info("[%s] Computing statistics...", collection) index.update_collection_stats(collection.id) cache.set(key, datetime.utcnow().isoformat()) index.index_collection(collection, sync=sync)
def compute_collection(collection, force=False, sync=False): key = cache.object_key(Collection, collection.id, "stats") if cache.get(key) is not None and not force: return refresh_collection(collection.id) log.info("[%s] Computing statistics...", collection) index.update_collection_stats(collection.id) cache.set(key, "computed", expires=cache.EXPIRE) index.index_collection(collection, sync=sync)