ContractSpec docs

OSS-first docs

These docs teach the open system first: contracts, generated surfaces, runtimes, governance, and incremental adoption. Studio shows up as the operating layer on top, not as the source of truth.

jobs

Background job processing, scheduling, and queue management

  • Type: feature
  • Version: 1.0.0
  • Stability: stable
  • Owners: @platform.jobs
  • Tags: jobs, queue, background, scheduler
  • File: packages/libs/jobs/src/jobs.feature.ts
  • field.key.label
    jobs
    field.version.label
    1.0.0
    field.type.label
    feature
    field.title.label
    jobs
    field.description.label

    Background job processing, scheduling, and queue management

  • Type: feature
  • Version: 1.0.0
  • Stability: stable
  • Owners: @platform.jobs
  • Tags: jobs, queue, background, scheduler
  • File: packages/libs/jobs/src/jobs.feature.ts
  • field.tags.label
    jobs,queue,background,scheduler
    field.owners.label
    @platform.jobs
    field.stability.label
    stable

    Background job processing, scheduling, and queue management

    Operations (7)

    `jobs.enqueue` (v1.0.0)

    `jobs.cancel` (v1.0.0)

    `jobs.get` (v1.0.0)

    `jobs.stats` (v1.0.0)

    `jobs.schedule.create` (v1.0.0)

    `jobs.schedule.toggle` (v1.0.0)

    `jobs.schedule.list` (v1.0.0)

    Events (8)

    `job.enqueued` (v1.0.0)

    `job.started` (v1.0.0)

    `job.completed` (v1.0.0)

    `job.failed` (v1.0.0)

    `job.retrying` (v1.0.0)

    `job.dead_lettered` (v1.0.0)

    `job.cancelled` (v1.0.0)

    `scheduler.job_triggered` (v1.0.0)

    Source Definition

    /**
     * Jobs Feature Module Specification
     *
     * Defines the feature module for background job processing and scheduling.
     */
    import { defineFeature } from '@lssm-tech/lib.contracts-spec';
    
    /**
     * Jobs feature module that bundles background job processing,
     * queues, and scheduling capabilities.
     */
    export const JobsFeature = defineFeature({
    	meta: {
    		key: 'jobs',
    		title: 'Background Jobs',
    		description: 'Background job processing, scheduling, and queue management',
    		domain: 'platform',
    		owners: ['@platform.jobs'],
    		tags: ['jobs', 'queue', 'background', 'scheduler'],
    		stability: 'stable',
    		version: '1.0.0',
    	},
    
    	// All contract operations included in this feature
    	operations: [
    		// Job operations
    		{ key: 'jobs.enqueue', version: '1.0.0' },
    		{ key: 'jobs.cancel', version: '1.0.0' },
    		{ key: 'jobs.get', version: '1.0.0' },
    		{ key: 'jobs.stats', version: '1.0.0' },
    
    		// Schedule operations
    		{ key: 'jobs.schedule.create', version: '1.0.0' },
    		{ key: 'jobs.schedule.toggle', version: '1.0.0' },
    		{ key: 'jobs.schedule.list', version: '1.0.0' },
    	],
    
    	// Events emitted by this feature
    	events: [
    		// Job lifecycle events
    		{ key: 'job.enqueued', version: '1.0.0' },
    		{ key: 'job.started', version: '1.0.0' },
    		{ key: 'job.completed', version: '1.0.0' },
    		{ key: 'job.failed', version: '1.0.0' },
    		{ key: 'job.retrying', version: '1.0.0' },
    		{ key: 'job.dead_lettered', version: '1.0.0' },
    		{ key: 'job.cancelled', version: '1.0.0' },
    
    		// Scheduler events
    		{ key: 'scheduler.job_triggered', version: '1.0.0' },
    	],
    
    	// No presentations for this library feature
    	presentations: [],
    	opToPresentation: [],
    	presentationsTargets: [],
    
    	// Capability definitions
    	capabilities: {
    		provides: [
    			{ key: 'jobs', version: '1.0.0' },
    			{ key: 'scheduler', version: '1.0.0' },
    		],
    		requires: [],
    	},
    });