def celery_shutdown(): close_connections()
"var errorMatch = new RegExp(/\\n([^\\n]+)\\n\\nLOCALS:/);" "if (!this.SyncErrors) return;" "var id = this._id;" "var svc = this.Service;" "this.SyncErrors.forEach(function(error){" "var message = error.Message.match(errorMatch)[1];" "var key = {service: svc, stem: message.substring(0, 60)};" "emit(key, {count:1, connections:[id], exemplar:message});" "});" "}" ) reduce_operation = Code( "function(key, item){" "var reduced = {count:0, connections:[]};" "var connection_collections = [];" "item.forEach(function(error){" "reduced.count+=error.count;" "reduced.exemplar = error.exemplar;" "connection_collections.push(error.connections);" "});" "reduced.connections = reduced.connections.concat.apply(reduced.connections, connection_collections);" "return reduced;" "}") db.connections.map_reduce(map_operation, reduce_operation, "common_sync_errors") #, finalize=finalize_operation # We don't need to do anything with the result right now, just leave it there to appear in the dashboard aggregateCommonErrors() close_connections()
def celery_shutdown(**kwargs): close_connections()
}, upsert=True, return_document=ReturnDocument.AFTER) heartbeat_rec_id = heartbeat_rec["_id"] patch_requests_with_default_timeout(timeout=60) if isinstance(settings.HTTP_SOURCE_ADDR, list): settings.HTTP_SOURCE_ADDR = settings.HTTP_SOURCE_ADDR[ settings.WORKER_INDEX % len(settings.HTTP_SOURCE_ADDR)] patch_requests_source_address((settings.HTTP_SOURCE_ADDR, 0)) # We defer including the main body of the application till here so the settings aren't captured before we've set them up. # The better way would be to defer initializing services until they're requested, but it's 10:30 and this will work just as well. from tapiriik.sync import Sync sync_heartbeat("ready") worker_message("ready") Sync = Sync() Sync.PerformGlobalSync(heartbeat_callback=sync_heartbeat, version=WorkerVersion) worker_message("shutting down cleanly") db.sync_workers.delete_one({"_id": heartbeat_rec_id}) close_connections() worker_message("shut down") logging.info("-----[ ENDING SYNC_WORKER ]-----") sys.stdout.flush()