FaasJS
Home
  • Guide
  • Documents
  • Templates
  • Changelog
  • Ecosystem

    • Docker Images
  • Github
  • Contributing
  • Sponsor
  • Security
Home
  • Guide
  • Documents
  • Templates
  • Changelog
  • Ecosystem

    • Docker Images
  • Github
  • Contributing
  • Sponsor
  • Security

Documents / @faasjs/jobs

@faasjs/jobs

@faasjs/jobs

PostgreSQL-backed background jobs for FaasJS.

Jobs are persisted in PostgreSQL, executed with at-least-once delivery, and split between enqueueing, worker polling, and scheduler cron enqueueing. Handlers should be idempotent and use retry options to make failure behavior explicit.

Install

npm install @faasjs/jobs @faasjs/pg

Usage

import { defineJob, enqueueJob } from '@faasjs/jobs'
import { z } from '@faasjs/utils'

export default defineJob({
  schema: z.object({
    userId: z.string(),
  }),
  async handler({ params }) {
    console.log(params.userId)
  },
})

await enqueueJob('features/users/jobs/sync', { userId: 'u_123' })

Functions

  • defineJob
  • enqueueJob
  • parseCronExpression
  • startJobScheduler
  • startJobWorker

Classes

  • Job
  • JobScheduler
  • JobWorker

Interfaces

  • DefineJobInject

Type Aliases

  • CronMatcher
  • DefineJobData
  • DefineJobOptions
  • DefineJobParams
  • EnqueueJobOptions
  • JobCron
  • JobEvent
  • JobRecord
  • JobRegistry
  • JobRetry
  • JobRetryContext
  • JobRetryOptions
  • JobSchedulerOptions
  • JobStatus
  • JobWorkerOptions
  • LoadJobRegistryOptions