Skip to content

job add

A job runs on a schedule or in response to an event. Pick exactly one trigger.

Terminal window
vsceasy job add --name sync --every 30s

Flags

FlagTypeNotes
--nametextRequired. Job id.
--titletextDisplay title.
--everydurationInterval: ms number or 30s / 5m / 2h / 1d.
--dailyAtHH:MMOnce per day at local time.
--oneventstartup | saveDocument | openDocument | changeActiveEditor | changeConfig.
--onFileglobFilesystem watcher (create / change / delete).
--minIntervalMsnumberThrottle re-runs across triggers (persisted in globalState).

Provide exactly one of --every, --dailyAt, --on, --onFile.

Examples

Terminal window
# every 30s, also runs on startup
vsceasy job add --name sync --every 30s
# daily at 02:30 local time
vsceasy job add --name nightly --dailyAt "02:30"
# on document save, at most once per hour
vsceasy job add --name index --on saveDocument --minIntervalMs 3600000
# on markdown changes
vsceasy job add --name docs --onFile "**/*.md"
src/jobs/sync.ts
import { defineJob } from '../shared/vsceasy';
export default defineJob({
title: 'Sync',
schedule: { every: '30s' },
minIntervalMs: 5000,
run: async (vscode, ctx) => {
console.log('[sync] tick', new Date().toISOString());
},
});