{"id":15762259,"url":"https://github.com/climactic/tinyjobs","last_synced_at":"2026-01-02T15:06:45.268Z","repository":{"id":255437749,"uuid":"847457882","full_name":"Climactic/TinyJobs","owner":"Climactic","description":"TinyJobs is tiny user-friendly background jobs framework for JavaScript runtimes.","archived":false,"fork":false,"pushed_at":"2024-09-03T18:30:05.000Z","size":677,"stargazers_count":2,"open_issues_count":5,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2024-10-11T11:32:29.293Z","etag":null,"topics":["background-jobs","bullmq","hacktoberfest","jobs","queue","redis","tinyjobs"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Climactic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-25T21:49:30.000Z","updated_at":"2024-09-03T18:29:31.000Z","dependencies_parsed_at":null,"dependency_job_id":"38690e92-f3a6-4d70-9bb1-2a2d55cb2d5c","html_url":"https://github.com/Climactic/TinyJobs","commit_stats":{"total_commits":32,"total_committers":2,"mean_commits":16.0,"dds":0.09375,"last_synced_commit":"41b9aa33bdf6ccb8f2c953a0b33bb914c40ff09d"},"previous_names":["climactic/tinyjobs"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Climactic%2FTinyJobs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Climactic%2FTinyJobs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Climactic%2FTinyJobs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Climactic%2FTinyJobs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Climactic","download_url":"https://codeload.github.com/Climactic/TinyJobs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246563355,"owners_count":20797443,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["background-jobs","bullmq","hacktoberfest","jobs","queue","redis","tinyjobs"],"created_at":"2024-10-04T11:08:16.898Z","updated_at":"2026-01-02T15:06:45.242Z","avatar_url":"https://github.com/Climactic.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# TinyJobs\n\n![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/Climactic/TinyJobs/ci.yml?style=flat-square)\n![NPM License](https://img.shields.io/npm/l/tinyjobs?style=flat-square)\n![NPM Version](https://img.shields.io/npm/v/tinyjobs?style=flat-square\u0026label=tinyjobs)\n![NPM Version](https://img.shields.io/npm/v/@tinyjobs/cli?style=flat-square\u0026label=@tinyjobs/cli)\n\n\nTinyJobs is tiny user-friendly background jobs framework for JavaScript runtimes.\n\n\u003c/div\u003e\n\n## What's inside?\n\nThis repo includes the following packages/apps:\n\n### Apps and Packages\n\n- [`tinyjobs`](packages/tinyjobs/README.md): TinyJobs core package that provides the framework for creating and running background jobs.\n- [`@tinyjobs/cli`](packages/cli/README.md): CLI for managing TinyJobs in your project.\n- [`@example/app`](apps/example/README.md): Example app that demonstrates how to use TinyJobs.\n- [`@tinyjobs/eslint-config`](packages/eslint-config/README.md): `eslint` configurations (includes `eslint-config-next` and `eslint-config-prettier`)\n- [`@tinyjobs/typescript-config`](packages/typescript-config): `tsconfig.json`s used throughout the monorepo\n\n\n## CLI\n\nInstall and use the TinyJobs CLI to manage TinyJobs in your project.\n\n```sh\nnpm i -G @tinyjobs/cli\ntinyjobs\n```\n\n## Usage\nInstantiate a new `TinyJobs` instance and add the job:\n\n```ts\nimport TinyJobs from 'tinyjobs';\n\nconst tinyJobs = new TinyJobs();\n\n// Load jobs from the jobs directory\nawait tinyJobs.loadJobs();\n\n// Invoke the job to run in the background\nawait tinyJobs.invoke('exampleJob', { name: 'world' });\n```\n\n## Creating a Job\n\n### Your First Job\nLet's create a new job in the `jobs` directory:\n```ts\nimport { Job } from 'tinyjobs';\n\nexport default class FirstJob extends Job {\n  constructor() {\n    super({\n        name: \"firstJob\",\n    });\n  }\n\n  async run({ name }: { name: string }) {\n    console.log(`Hello, ${data.name}!`);\n  }\n}\n```\n\n\n## Roadmap\nTinyJobs is not feature complete and still in early stages, you can refer to the roadmap for the list of currently planend features and their progress [here](https://github.com/orgs/Climactic/projects/1/views/4).\n\n\n## Develop\n\nTo develop all apps and packages, run the following command:\n\n```bash\nbun run dev:packages # run watch modeon packages\nbun run dev:apps # run watch mode on example app\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclimactic%2Ftinyjobs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclimactic%2Ftinyjobs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclimactic%2Ftinyjobs/lists"}