0.0.1 • Published 11 months ago

@enschedule/worker v0.0.1

Weekly downloads
-
License
MIT
Repository
-
Last release
11 months ago

worker

Docker

Environment variables

DB_USER DB_HOST DB_PASSWORD DB_DATABASE DB_PORT ENSCHEDULE_API REGISTER_JOBS_SCRIPT API_PORT or default is 8080 API_HOSTNAME or undefined

Usage

Use the image as is:

cat <<EOC > index.js
const { z } = require('zod');

module.exports = async (worker) => {
  worker.registerJob({
      id: 'log-job',
      title: 'Log message',
      dataSchema: z.object({
          message: z.string(),
      }),
      job: async (data, console) => {
          console.log(data.message);
      },
      description: 'Will print the message on the server',
      example: {
          message: 'some message',
      },
  });
}

EOC
docker container run -p 8080:8080 -e API_ENDPOINT=true -v ${PWD}:/enschedule/jobs enschedule:latest

API

Usage

import { Worker } from "@enschedule/worker";
const worker = new Worker({});
void (async () => {
  worker.registerJob({
    id: "log-job",
    title: "Log message",
    dataSchema: z.object({
      message: z.string(),
    }),
    job: async (data, console) => {
      console.log(data.message);
    },
    description: "Will print the message on the server",
    example: {
      message: "some message",
    },
  });
  await worker.startPolling();
  if (process.env.ENSCHEDULE_API) {
    worker.serve({ port: 8080 }).listen();
  }
})();