2017-05-12 1 views
6

Wir verwenden eine Cloud-Funktion, die von Pub/Sub ausgelöst wird, um die Zustellung einer E-Mail sicherzustellen. Manchmal dauert es sehr lange, bis der E-Mail-Dienst reagiert und unsere Cloud-Funktion beendet wird, bevor ein Fehler zurückgegeben wird. Da die Nachricht bereits bestätigt wurde, geht unsere E-Mail verloren.Google Cloud-Funktionen, nur um Pub/Sub bei Erfolg zu bestätigen

Die Cloud-Funktion scheint eine ACK die Pub/Sub-Nachricht automatisch zu senden, wenn wir aufgerufen werden. Gibt es eine Möglichkeit, die ACK bis zum erfolgreichen Abschluss unseres Codes zu verzögern? Oder gibt es eine Möglichkeit, Zeitüberschreitungen einzufangen und die Nachricht für die Zustellung zurückzugeben? Etwas anderes könnten wir versuchen?

Antwort

6

Ich habe von der Google-Unterstützung gehört, dass sie derzeit keine Möglichkeit bieten, die ACK zu verzögern, wenn eine Cloud-Funktion von Pub/Sub aufgerufen wird. Wenn Sie Cloud-Funktionen mit Pub/Sub verwenden möchten, müssen Sie den Fehlerfall selbst behandeln. Zum Beispiel könnte Ihre Cloud-Funktion eine Nachricht für den Wiederholungsversuch mit einer Wiederholungszählung anfordern.

Dies scheint es unnötig schwierig zu machen, die Ausführung mit Pub/Sub- und Cloud-Funktionen zu garantieren.

+0

Exaktes gleiches Problem - Danke für Ihre Antwort. – Louzoid

+1

Das war eine schreckliche Designentscheidung. Sie hätten es der Cloud-Funktion überlassen sollen, die Nachricht zu beantworten. – amohr

+1

Oder vielleicht nur, wenn die Funktion erfolgreich beendet wurde. –

Verwandte Themen