Google Cloud Functions - Cloud Storage bucket 触发器触发延迟



我们设置了一个云函数,用于侦听云存储桶的更改。我们今天早上注意到它有几个小时没有触发(我们每小时有一个文件上传到该存储桶,所以它应该大约每小时运行一次(。然后,在上午8点18分左右,它开了几次火,"赶上"了一下子错过的火。举例说明:

{Normal runs} 4:50am - 1.csv uploaded to GCS bucket 4:50am - Cloud function tirggers on 1.csv 5:50am - 2.csv uploaded to GCS bucket 5:50am - Cloud function triggers on 2.csv {This is where things get weird} 6:50am - 3.csv uploaded to GCS bucket 7:51am - 4.csv uploaded to GCS bucket 8:18am - Cloud function triggers on 3.csv 8:18am - Cloud function triggers on 4.csv {Back to normal} 8:51am - 5.csv uploaded to GCS bucket 8:51am - Cloud function triggers on 5.csv

这是我们第一次注意到这种行为。GCP 状态页面指示云函数没有中断,尽管该服务仍处于测试阶段。

有没有人遇到过这种间歇性的可靠性?如果这种情况经常发生,我们将不得不重新考虑将其用作我们架构的一部分。

我应该注意,我们的云函数中的代码非常简单。开头有一个console.log,我们用它来跟踪它何时运行(以及用于哪个文件(。过去 2 周内未发生任何错误。

从GCS文档中,没有交付承诺。

对象更改通知将尝试将通知传递到 以可靠的方式您的应用程序。但是,请注意 通知可以无限期延迟,及时性不是 保证。

使用云发布/订阅触发器将云功能连接到GCS Cloud Pub/Sub Notice可能会更可靠;但是,Cloud Pub/Sub Notifications也没有交付SLA。

看起来如果您需要在特定时间内收到通知,则无法保证,但它可能会在大多数时间起作用。

最新更新