Firestore Chron触发云功能出错

时间:2019-07-22 03:10:54

标签: google-cloud-firestore google-cloud-functions tslint

我正在尝试实现一个功能,该功能每天触发一次,并针对我的“任务”集合,该集合的特征是具有“ performAt”字段的文档。如果performAt字段是过去的时间,我想将其设置为将来24小时的时间。

注意:在本示例中,为了使其正常工作,我已将chron作业安排为每分钟进行一次。

export const dailyJob = functions.pubsub.schedule('* * * * *').onRun(async context => {
    const now = admin.firestore.Timestamp.now();
    const nowMill = now.toMillis();
    const tomorrowMill = nowMill + 8.28e+7;
    const tomorrow = admin.firestore.Timestamp.fromMillis(tomorrowMill);

    const query = db.collection('tasks').where('performAt', '<=', now).where('worker', '==', 'dailyJob');
    const tasks = await query.get();

    tasks.forEach(snapshot => {
        snapshot.ref.update({performAt: tomorrow})
    });
})

不幸的是,当我尝试将其部署到Firestore时,此代码是错误的。任何人都知道为什么它将终止吗?

下面的错误日志

npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! functions@ lint: `tslint --project tsconfig.json`
npm ERR! Exit status 2
npm ERR! 
npm ERR! Failed at the functions@ lint script.
npm ERR! This is probably not a problem with npm.

0 个答案:

没有答案