【问题标题】:How to prevent Google Cloud Function instance from going down [duplicate]如何防止 Google Cloud Function 实例宕机 [重复]
【发布时间】:2019-12-30 12:17:49
【问题描述】:

我有一个谷歌云函数,我在第一次运行该函数时初始化了一些变量,以便下次响应会很快。当我在一定时间内不使用该函数时,变量值会丢失,这意味着该函数在不使用时没有运行。 我怎样才能防止这种情况发生?

var browser;
var page;

function getBrowserPage() {
    return new Promise(async (resolve, reject) => {
        if (!browser) {
            browser = await puppeteer.launch({ args: ['--no-sandbox'] });
            console.log('Creating a new browser...');
        }
        if (!page) {
            page = await browser.newPage();
            console.log('Creating a new page...');
        }
        resolve(page);
    });
}

await getBrowserPage().then(p => { 
console.log('page created')
 }).catch(err => {
 console.log(err) 
});

【问题讨论】:

    标签: google-cloud-platform google-cloud-functions


    【解决方案1】:

    每隔几分钟触发一个 CRON 作业(通过 Cloud Scheduler)调用您的函数,从而强制它保持温暖。

    理想情况下,您还想为您的函数添加处理,以便尽快终止预热/ping 调用;例如,在您的情况下,我们不想每隔几分钟就启动 Puppeteer。

    Here's a sample implementation 在 AWS Lambda 中。

    【讨论】:

    • 这不会是 100% 有效的。请参阅标记的副本,了解为什么无法强制函数保持温暖。
    猜你喜欢
    • 2020-09-25
    • 1970-01-01
    • 2020-11-17
    • 2019-02-02
    • 2019-08-05
    • 1970-01-01
    • 1970-01-01
    • 2021-03-31
    • 2019-09-16
    相关资源
    最近更新 更多