async setJobTimestamp(jobName, field, date) {
        // Convert string dates to Date objects for SQLite compatibility
        try {
            debug(`Setting ${field} timestamp for job ${jobName} to ${date}`);
            const updateField = field === 'finished' ? 'finished_at' : 'started_at';
            const status = field === 'finished' ? 'finished' : 'started';
            const result = await db.knex('jobs').update({[updateField]: date, updated_at: new Date(), status: status}).where('name', jobName);
            if (result === 0) {
                await db.knex('jobs').insert({
                    id: new ObjectID().toHexString(),
                    name: jobName,
                    [updateField]: date.toISOString(), // force to iso string for sqlite
                    updated_at: date.toISOString(), // force to iso string for sqlite
                    status: status
                });
            }
        } catch (err) {
            debug(`Error setting ${field} timestamp for job ${jobName}: ${err.message}`);
        }
    }
Sets the timestamp of the last seen event for the specified email analytics events.
@param {EmailAnalyticsJobName} jobName - The name of the job to update.
@param {'finished'|'started'} field - The field to update.
@param {Date} date - The timestamp of the last seen event.
@returns {Promise<void>}
@description
Updates the `finished_at` or `started_at` column of the specified job in the `jobs` table with the provided timestamp.
This is used to keep track of the last time the job was run to avoid expensive queries following reboot.