def queue_harvest_tasks(): """ Generate a number of harvet tasks. Meant to be called via cron. Only queues services that are active. """ with app.app_context(): sids = [s._id for s in db.Service.find({'active':True}, {'_id':True})] for sid in sids: queue.enqueue(harvest, sid)
def queue_ping_tasks(): """ Generate a number of ping tasks. Meant to be called via cron. Only queues services that are active. """ with app.app_context(): sids = [ s._id for s in db.Service.find({'active': True}, {'_id': True}) ] for sid in sids: queue.enqueue(ping_service_task, sid)
def ping_service_task(service_id): with app.app_context(): # get last for this service last_stat = db.Stat.find_one({"service_id": ObjectId(service_id)}, sort=[("created", -1)]) stat = db.Stat() stat.service_id = ObjectId(service_id) stat.ping_service() stat.save() if last_stat and last_stat.operational_status != stat.operational_status: queue.enqueue(send_service_down_email, ObjectId(service_id))
def ping_service_task(service_id): with app.app_context(): # get last for this service last_stat = db.Stat.find_one({'service_id': ObjectId(service_id)}, sort=[('created', -1)]) stat = db.Stat() stat.service_id = ObjectId(service_id) stat.ping_service() stat.save() if last_stat and last_stat.operational_status != stat.operational_status: queue.enqueue(send_service_down_email, ObjectId(service_id))
def ping_service_task(service_id): with app.app_context(): pl = db.PingLatest.get_for_service(ObjectId(service_id)) wasnew, flip = pl.ping_service() pl.save() # save to WeeklyArchive if wasnew: utcnow = datetime.utcnow() pa = db.PingArchive.get_for_service(ObjectId(service_id), utcnow) pa.add_ping_data(pl.last_response_time, pl.last_operational_status) pa.updated = utcnow pa.save() if flip: queue.enqueue(send_service_down_email, ObjectId(service_id)) return pl.last_response_time
def queue_reindex(filter_regions=None): if filter_regions: filter_regions = filter_regions.split(',') queue.enqueue(reindex_services, filter_regions)
def queue_daily_status(): queue.enqueue(send_daily_report_email)
def queue_reindex(): queue.enqueue(reindex_services)
def reindex(): queue.enqueue(reindex_services) return jsonify({"message" : "queued"})
def migrate_141008(): from ioos_catalog.models.migration.migrate_141008 import migrate queue.enqueue(migrate)
def migrate_140827(): from ioos_catalog.models.migration.migrate_140827 import migrate queue.enqueue(migrate)
def cleanup_datasets(): queue.enqueue(cleanup)
def reindex(): queue.enqueue(reindex_services) return jsonify({"message": "queued"})
def migrate_150120(): from ioos_catalog.models.migration.migrate_150120 import migrate queue.enqueue(migrate)
def queue_reindex(provider=None): print provider queue.enqueue(reindex_services, provider)