CloudFunctions with Pubsub : 发布延迟很长

     2023-02-16     16

关键词:

【中文标题】CloudFunctions with Pubsub : 发布延迟很长【英文标题】:CloudFunctions with Pubsub : long delay to publish 【发布时间】:2021-08-02 19:20:59 【问题描述】:

我对 Pubsub 有疑问。我有一个功能和一个主题。当我发布该主题时,发布消息需要 2 分钟。这正常吗?

本地不存在此问题(使用 webstrom / Google Cloud SQK for windows)。 本地发布时间:240ms 谷歌云控制台发布时间:2分钟

在我的代码下面:

var topicName = "projects/XXXXXXXXXXXXXX/topics/ps_checkNiveauBacTampon";
const publisher = pubSubClient.topic(topicName, 
    batching: 
        maxMessages: 100,
        maxMilliseconds: 1,
    ,
);

exports.helloPubSub = function(event, context) => 
    var jsonPub = idBassin: 1;
    var payload = Buffer.from(JSON.stringify(jsonPub));

    // Publishes the message as a string, e.g. "Hello, world!" or JSON.stringify(someObject)
    //const dataBuffer = Buffer.from(JSON.stringify(jsonPub));


    try 
        console.log('In try, before publish');
        const messageId = await publisher.publish(payload);
        console.log('In try, after publish');
     catch (error) 
        console.error(`Received error while publishing: $error.message`);
        process.exitCode = 1;
    
    console.log('After try');


谷歌云日志下方:

【问题讨论】:

您在特定地区吗? 我已在此问题中添加了 Cloud Functions 标签,以防此处的问题与 Cloud Functions 相关。 2 分钟的发布时间是不寻常的,尤其是因为您已在批处理设置中将 maxMilliseconds 设置为 1。 @guillaumeblaquiere 我在留尼汪岛。云功能在 europe-west1 如果您的 Cloud Function 正在执行任何重要的计算,它可能会受到资源限制。你可以尝试为你的函数使用更高层的 CPU/内存,看看这是否能提高性能?如果没有帮助,请向 Google Cloud 支持提出案例,以便他们可以帮助您处理特定的函数和 Pub/Sub 主题。 【参考方案1】:

发布延迟可能源于 Pub/Sub 或 Cloud Functions 端。

    关于 Pub/Sub,低吞吐量可能会导致 冷缓存 问题。这是因为 Pub/Sub 是为低延迟和高吞吐量而设计的。另一种可能性是存在实施问题。您可以尝试减少maxMessages,看看是否能解决问题。

    关于 Cloud Functions,可能是 Lauren 已经说过的问题。如果函数遇到高 CPU 或 RAM 使用率,可能会导致在 Pub/Sub 上发布主题出现意外延迟。正如您所说,在本地运行时一切正常,也许您使用的是更高的硬件规格。如果是这种情况,您可以尝试增加 CPU 和 RAM。

【讨论】:

为啥 Terraform 无法配置 google_cloudfunctions_function_iam_member?

】为啥Terraform无法配置google_cloudfunctions_function_iam_member?【英文标题】:WhydoesTerraformfailtoprovisiongoogle_cloudfunctions_function_iam_member?为什么Terraform无法配置google_cloudfunctions_function_iam_member?【发布时间】:2021-12-1300:32:2 查看详情

从 Watson Assistant 调用 OpenWeather API:“直接 CloudFunctions 调用不成功”

】从WatsonAssistant调用OpenWeatherAPI:“直接CloudFunctions调用不成功”【英文标题】:CallingOpenWeatherAPIfromWatsonAssistant:"DirectCloudFunctionscallwasnotsuccessful"【发布时间】:2021-09-0406:42:53【问题描述】:我正在尝试将openweathermapAPI与Wat... 查看详情

我可以将 Google CloudFunctions 用于可靠的应用程序目的吗?

】我可以将GoogleCloudFunctions用于可靠的应用程序目的吗?【英文标题】:CanIuseGoogleCloudFunctionsforreliableapplicationpurposes?【发布时间】:2021-03-2808:19:38【问题描述】:我记得读过一篇文章,其中解释说不能保证CloudFunctions执行,尤其... 查看详情

无法通过cloudfunctions(oncall)从cloudfirestore返回一个json数组到swift(代码片段)

从云函数中获取结果时遇到问题。这是我的云功能:exports.retrieveTrips=functions.https.onCall((data,context)=>constuidNumber=context.auth.uid;vararrayOfResults=newArray();varidOfFoundDoc;varquery=admin.firestore().collecti 查看详情

Cloud Tasks + Cloud Functions - 重复执行

】CloudTasks+CloudFunctions-重复执行【英文标题】:CloudTasks+CloudFunctions-duplicateexecutions【发布时间】:2020-05-1116:03:06【问题描述】:我正在同时使用GoogleCloudTasks和CloudFunctions来并行执行许多任务。使用HTTP触发器部署CloudFunction。我正... 查看详情

连接到 Cloud SQL 时,Cloud Functions “连接被拒绝”

】连接到CloudSQL时,CloudFunctions“连接被拒绝”【英文标题】:CloudFunctions"ConnectionRefused"whenconnectingtoCloudSQL【发布时间】:2019-04-1822:30:41【问题描述】:我正在尝试跟随exampleprovidedbyGoogle使用Python和MySQL实例将CloudFunctions脚... 查看详情

具有 Cloud pubsub 的 Cloud Functions 触发消息排队

】具有Cloudpubsub的CloudFunctions触发消息排队【英文标题】:CloudFunctionswithCloudpubsubtriggerqueuingthemessages【发布时间】:2021-09-0115:53:39【问题描述】:我们有一个带有Pubsub触发器的CloudFunctions,它将根据消息调用HTTP端点上的应用程序... 查看详情

Firebase 中的 Cloud Functions 是不是免费(Cloud Functions 部署需要按需付费 (Blaze) 计费方案)

】Firebase中的CloudFunctions是不是免费(CloudFunctions部署需要按需付费(Blaze)计费方案)【英文标题】:IsCloudFunctionsinFirebaseFreeorNot(CloudFunctionsdeploymentrequiresthepay-as-you-go(Blaze)billingplan)Firebase中的CloudFunctions是否免费(CloudFunctions部署 查看详情

Cloud Functions:如何将 Firestore 集合复制到新文档?

】CloudFunctions:如何将Firestore集合复制到新文档?【英文标题】:CloudFunctions:HowtocopyFirestoreCollectiontoanewdocument?【发布时间】:2018-09-1609:20:04【问题描述】:我想在使用CloudFunctions发生事件时在Firestore中制作一个集合的副本我已经... 查看详情

随机发生,预检响应缺少允许标头

...题描述】:这个常见错误是随机发生的:OPTIONShttps://api.cloudfunctions.net/api/graphql404Accesstofetchat\'https://api.cloudfunctions. 查看详情

基于云开发的微信小程序实战教程(代码片段)

...个文件的作用,还配带了一些例子说明。最后还剩下cloudfunctions目录,也就是云开发的文件夹介绍。本章主要内容:小程序云开发的基础目录结构,cloudfunctions目录介绍;编写云函数;云开发的调试。一、... 查看详情

基于云开发的微信小程序实战教程(代码片段)

...个文件的作用,还配带了一些例子说明。最后还剩下cloudfunctions目录,也就是云开发的文件夹介绍。本章主要内容:小程序云开发的基础目录结构,cloudfunctions目录介绍;编写云函数;云开发的调试。一、... 查看详情

集成 BigQuery SubPub 和 Cloud Functions

】集成BigQuerySubPub和CloudFunctions【英文标题】:IntegrateBigQuerySubPubandCloudFunctions【发布时间】:2021-04-1109:45:01【问题描述】:我在一个项目中,我们需要使用BigQuery、PubSub、Logsexplorer和CloudFunctions。项目:每次发生特定事件(例如用... 查看详情

with的用法?

Myparentsnevercomparemewithotherkinds里面的with是做什么语With的五大用法:with的用法1:with表示状态时,还可作“跟上…”“听懂…的话”解,一般用于疑问句或否定句中。with的用法2:with表示关系时还可作“与…合并〔混合,组合〕”解。with... 查看详情

在 SQL 中是不是可以在 WITH 中使用 WITH

】在SQL中是不是可以在WITH中使用WITH【英文标题】:IsitpossibleinSQLtouseWITHinsideaWITH在SQL中是否可以在WITH中使用WITH【发布时间】:2014-06-1201:46:59【问题描述】:在SQL中,可以将WITH放在WITH中吗?以下面的查询为例,WITHTemp([Description],... 查看详情

求python将两个mp3音频文件拼接成一个mp3文件的代码

...下安装依赖:(二选一)[plain] viewplaincopybrew install libav --with-libvorbis --with-sdl --with-theora  将所有依赖都安装上~~  brew install ffmpeg --with-fdk-aac --with-ffplay --with-freetype --with-frei0r --with-libass --with-libvo-aacenc --with-libvorbis--with-li... 查看详情

Cloud Functions 删除文件夹:TypeScript

】CloudFunctions删除文件夹:TypeScript【英文标题】:CloudFunctionsDeleteaFolder:TypeScript【发布时间】:2019-05-0305:36:29【问题描述】:我的存储桶budget-32bfc包含以下文件夹;--+Folder1--+Folder2--+Folder3我想从CloudFunctions中删除Folder1。尝试1:gcs... 查看详情

如何让 Google Cloud Functions 保持温暖?

】如何让GoogleCloudFunctions保持温暖?【英文标题】:HowcanIkeepGoogleCloudFunctionswarm?【发布时间】:2019-01-1720:19:52【问题描述】:我知道这可能首先忽略了使用CloudFunctions的意义,但在我的具体情况下,我使用的是CloudFunctions,因为这... 查看详情