MCPcopy
hub / github.com/ValueCell-ai/ClawX / listCronJobs

Function listCronJobs

electron/services/cron-api.ts:396–421  ·  view source on GitHub ↗
(gatewayManager: GatewayManager)

Source from the content-addressed store, hash-verified

394}
395
396async function listCronJobs(gatewayManager: GatewayManager): Promise<CronJob[]> {
397 let jobs: GatewayCronJob[] = [];
398 let usedFallback = false;
399
400 try {
401 const result = await gatewayManager.rpc('cron.list', { includeDisabled: true }, 8000);
402 const data = result as { jobs?: GatewayCronJob[] };
403 jobs = data?.jobs ?? (Array.isArray(result) ? result as GatewayCronJob[] : []);
404 } catch {
405 try {
406 const cronJsonPath = join(getOpenClawConfigDir(), 'cron', 'cron.json');
407 const raw = await readFile(cronJsonPath, 'utf-8');
408 const parsed = JSON.parse(raw);
409 jobs = (Array.isArray(parsed) ? parsed : (parsed?.jobs ?? [])) as GatewayCronJob[];
410 usedFallback = true;
411 } catch {
412 // No fallback data available.
413 }
414 }
415
416 if (!usedFallback && jobs.length > 0) {
417 repairCronJobsInBackground(gatewayManager, jobs);
418 }
419
420 return jobs.map((job) => ({ ...transformCronJob(job), ...(usedFallback ? { _fromFallback: true } : {}) }));
421}
422
423function repairCronJobsInBackground(gatewayManager: GatewayManager, jobs: GatewayCronJob[]): void {
424 const jobsToRepairDelivery = jobs.filter((job) => {

Callers 1

createCronApiFunction · 0.85

Calls 4

getOpenClawConfigDirFunction · 0.90
transformCronJobFunction · 0.85
rpcMethod · 0.80

Tested by

no test coverage detected