¿Por qué mi nube Run - a base de fuego llamadas a tomar tanto tiempo?

David Taubler:

He estado tratando de conectarse desde la aplicación Java que se ejecuta en la nube Ejecutar a una base de datos Firebase. No parece haber un retraso de varios minutos de transacción Firebase de mi aplicación para ejecutar (y aún así, no consigo el resultado deseado).

El siguiente método se invoca como mi aplicación es el lanzamiento:

    public void init() throws Exception {
        LOGGER.info("FirebaseRepo-init starting...");

        FileInputStream serviceAccount =
                  new FileInputStream("/MyDatabase.json");

        FirebaseOptions options = new FirebaseOptions.Builder()
                  .setCredentials(GoogleCredentials.fromStream(serviceAccount))
                  .setDatabaseUrl("https://mydatabase-222123.firebaseio.com")
                  .build();

        LOGGER.info("FirebaseRepo-init 1");

        fbApp = FirebaseApp.initializeApp(options);

        LOGGER.info("FirebaseRepo-init 2");

        dbRef = FirebaseDatabase.getInstance().getReference();

        LOGGER.info("FirebaseRepo-init 3");

        final DatabaseReference entityRef = dbRef.child("entities");

        LOGGER.info("FirebaseRepo-init 4");

        Entity e = testEntity();

        entityRef.runTransaction(new Transaction.Handler() {

            @Override
            public void onComplete(DatabaseError error, boolean committed, DataSnapshot currentData) {
                LOGGER.info("FirebaseRepo-init tx onComplete; com=" + committed + "; err=" + error);
            }

            @Override
            public Result doTransaction(MutableData data) {
                LOGGER.info("FirebaseRepo-init tx start");
                MutableData childData = data.child(e.getGuid().toString());
                if (childData != null) {
                    LOGGER.info("FirebaseRepo-init tx progress");
                    childData.setValue(e);
                } else {
                    LOGGER.info("FirebaseRepo-init tx null child");
                }
                LOGGER.info("FirebaseRepo-init tx will return");
                return Transaction.success(data);
            }
        });

        LOGGER.info("...FirebaseRepo-init ending");
    }

Comprobación de los registros después de desplegar la aplicación, vemos:

2020-03-30T01:51:40.318532ZINFO: FirebaseRepo-init starting...
2020-03-30T01:51:40.749160ZINFO: FirebaseRepo-init 1
2020-03-30T01:51:40.781135ZINFO: FirebaseRepo-init 2
2020-03-30T01:51:40.947959ZINFO: FirebaseRepo-init 3
2020-03-30T01:51:40.949045ZINFO: FirebaseRepo-init 4
2020-03-30T01:51:40.952295ZINFO: ...FirebaseRepo-init ending
2020-03-30T01:54:10.647748ZINFO: FirebaseRepo-init tx start
2020-03-30T01:54:10.945862ZINFO: FirebaseRepo-init tx progress
2020-03-30T01:54:12.546400ZINFO: FirebaseRepo-init tx will return
2020-03-30T01:56:03.046096ZINFO: FirebaseRepo-init tx start
2020-03-30T01:56:03.245789ZINFO: FirebaseRepo-init tx progress
2020-03-30T01:56:03.547215ZINFO: FirebaseRepo-init tx will return
2020-03-30T01:56:10.446070ZINFO: FirebaseRepo-init tx onComplete; com=true; err=null

La transacción se invoca sobre dos minutos y medio después de las aplicaciones ensu ... y luego otra vez unos cinco minutos más tarde, y luego se completa finalmente. Por otra parte, cuando voy a mi tablero Firebase, no veo nada en mi base de datos; nada se ha añadido, a pesar de que veo a ningún otro error.

Cualquier reflexión sobre el error n00b que estoy haciendo?

gso_gabriel:

Teniendo en cuenta los comentarios en la pregunta, parece que la nube de ejecución es de hecho funciona como se espera, sin embargo, podría darse el caso de que la nube de ejecución no es el producto recomendado para este caso de uso específico. De acuerdo con la respuesta de Doug Cloud Run isn't meant to run arbitrary code on deployment. It's meant to run code in response to incoming HTTP requests as your run a web server on port 8080., lo cual tendría sentido por el retraso que se enfrentó. Podría valer la pena para comprobar otro producto.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=371162&siteId=1
Recomendado
Clasificación