如何在任何集合的onWrite之后部署cron作业云功能

问题描述 投票:0回答:1

根据documentation以下是运行cron作业的代码

exports.cronJob = functions.pubsub.schedule('5 11 * * *')
  .timeZone('America/New_York') // Users can choose timezone - default is America/Los_Angeles
  .onRun((context) => {
  console.log('This will be run every day at 11:05 AM Eastern!');
  return null;
});

但是我要在[]中检测到任何更改时运行cron作业>

exports.changeDetected = functions.firestore
  .document('/myTable/{myID}')
  .onWrite((snapshot, context) => {
    const dataAfterWrite = snapshot.after.data();
    const myID = context.params.myID;
    /*I want to deploy a cron job cloud function from here with the name of myID. something like this:

  exports.{$`myID`} = functions.pubsub.schedule('5 11 * * *')
  .timeZone('America/New_York') // Users can choose timezone - default is America/Los_Angeles
  .onRun((context) => {
  console.log('This will be run every day at 11:05 AM Eastern!');
  return null;
});
 */      
    return true;
  });

是否可以在Firebase云功能中执行此操作?当检测到任何集合中的任何更改时,我们可以部署firebase cron作业云功能吗?

根据以下文档,是运行cron作业exports.cronJob = functions.pubsub.schedule('5 11 * * *').timeZone('America / New_York')//用户可以选择时区-的代码。 ..

javascript google-cloud-firestore google-cloud-functions scheduled-tasks cron-task
1个回答
0
投票

让一个功能动态部署另一个功能实际上是不可行的。我建议改为创建一个定期运行的功能,并检查它以查看在触发时应完成的工作。可以使用Firestore中的文档来描述这项工作,因此您要做的就是查询这些文档,然后根据发现的内容采取措施。

© www.soinside.com 2019 - 2024. All rights reserved.