作业完成后如何更改计划时间。
let time = 25
这是全局变量。
const job = schedule.scheduleJob(`*/${time} * * * * *`, async function () {
let tenantID = "--- ---- --- ---"
let tenantExist
await Tenant.findOne({ tenantId: tenantID }).then((resp) =>
tenantExist = resp
)
console.log(tenantExist)
const {syncPurchaseOrder,syncTime} = tenantExist.tenantConfig
const { serviceCall, organizationId, isTenant, SyncedBy, UpdatedBy, eventBy, saveEvents } = constants
if (syncPurchaseOrder) {
await axios({
method: "get",
url: `${process.env.M_BACKEND}/inv/syncPurchaseOrder`,
data: {
serviceCall,
organizationId,
isTenant,
SyncedBy,
UpdatedBy,
eventBy,
saveEvents,
}
}).then((resp) => {
console.log(resp.data)
}).catch((err) => {
console.log(err.message);
console.log('False');
})
}
else {
console.log('No need to Sync PO and Receipts')
}
time=syncTime
}
现在我正在尝试做的是,我将从用户那里花费时间并将保存到 DB(mongodb)中。调度程序功能将运行一次,如果用户更改了 db 中的时间,它将按照新时间运行,首先是运行时差为 1 小时,在运行期间用户将其更改为 30 分钟,它必须完成当前,然后它应该根据提供的时间运行