我正在尝试实现一个功能,该功能每天触发一次,并针对我的“任务”集合,该集合的特征是具有“ 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.