1

我有一个 Firebase 云功能,它循环访问数据库中的用户并向每个用户发送一封电子邮件。它使用 Campaign Monitor API 处理事务/智能电子邮件,但请求会导致 ESOCKETTIMEDOUT 错误。Campaign Monitor 可以很好地接收和处理每个请求,但我当然想避免错误。

我怎样才能做到这一点?我在其他地方读过有关设置“代理:假,池:{maxSockets:100}”的信息,但我不确定这是否是正确的方法 - 我不知道在 Firebase og Google 上的哪个位置进行设置云函数。

这是循环调用的请求片段。

  api.transactional.sendSmartEmail(details, function (err, res) {
    if (err) {
        console.log('error sending mail, err);
        /*Throws:
        { Error: ESOCKETTIMEDOUT
        at ClientRequest.<anonymous> (/user_code/node_modules/createsend-node/node_modules/request/request.js:813:19)
        at ClientRequest.g (events.js:292:16)
        at emitNone (events.js:86:13)
        at ClientRequest.emit (events.js:185:7)
        at TLSSocket.emitTimeout (_http_client.js:630:10)
        at TLSSocket.g (events.js:292:16)
        at emitNone (events.js:86:13)
        at TLSSocket.emit (events.js:185:7)
        at TLSSocket.Socket._onTimeout (net.js:338:8)
        at ontimeout (timers.js:386:11) code: 'ESOCKETTIMEDOUT', connect: false }
        */
    } else {
            console.log('sent mail');
    }
});
4

0 回答 0