Use timestamp from runtime

This commit is contained in:
Adria Navarro 2024-11-05 17:09:32 +01:00
parent f90829ec5c
commit cbf0cf76d3
2 changed files with 8 additions and 3 deletions

View File

@ -70,6 +70,10 @@ export async function processEvent(job: AutomationJob) {
const task = async () => { const task = async () => {
try { try {
if (isCronTrigger(job.data.automation)) {
// Requires the timestamp at run time
job.data.event.timestamp = Date.now()
}
// need to actually await these so that an error can be captured properly // need to actually await these so that an error can be captured properly
console.log("automation running", ...loggingArgs(job)) console.log("automation running", ...loggingArgs(job))
@ -210,15 +214,15 @@ export async function enableCronTrigger(appId: any, automation: Automation) {
} }
// make a job id rather than letting Bull decide, makes it easier to handle on way out // make a job id rather than letting Bull decide, makes it easier to handle on way out
const jobId = `${appId}_cron_${utils.newid()}` const jobId = `${appId}_cron_${utils.newid()}`
const job: any = await automationQueue.add( const job = await automationQueue.add(
{ {
automation, automation,
event: { appId, timestamp: Date.now() }, event: { appId },
}, },
{ repeat: { cron: cronExp }, jobId } { repeat: { cron: cronExp }, jobId }
) )
// Assign cron job ID from bull so we can remove it later if the cron trigger is removed // Assign cron job ID from bull so we can remove it later if the cron trigger is removed
trigger.cronJobId = job.id trigger.cronJobId = job.id.toString()
// can't use getAppDB here as this is likely to be called from dev app, // can't use getAppDB here as this is likely to be called from dev app,
// but this call could be for dev app or prod app, need to just use what // but this call could be for dev app or prod app, need to just use what
// was passed in // was passed in

View File

@ -14,6 +14,7 @@ export interface AutomationDataEvent {
row?: Row row?: Row
oldRow?: Row oldRow?: Row
user?: UserBindings user?: UserBindings
timestamp?: number
} }
export interface AutomationData { export interface AutomationData {