With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js. Learn more →
Top 23 Job Open-Source Projects
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
bree
Bree is a Node.js and JavaScript job task scheduler with worker threads, cron, Date, and human syntax. Built for @ladjs, @forwardemail, @spamscanner, @cabinjs.
-
latexcv
:necktie: A collection of cv and resume templates written in LaTeX. Leave an issue if your language is not supported!
-
croner
Trigger functions or evaluate cron expressions in JavaScript or TypeScript. No dependencies. Most features. Node. Deno. Bun. Browser.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
SwiftQueue
Job Scheduler for IOS with Concurrent run, failure/retry, persistence, repeat, delay and more
-
EasyApplyJobsBot
A python bot to automatically apply all Linkedin,Glassdoor, etc Easy Apply jobs based on your preferences. Auto login, auto fill additional questions, apply automatically!
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
Project mention: Prioritizing Concurrent Requests: Queuing system to handle distributed processes and messages with NodeJS and Bull | dev.to | 2024-03-15To implement the solution with a queue, I used a package called 'Bull' (https://github.com/OptimalBits/bull). It's a library that helps with distributed job control, providing some very useful solutions for this type of work, such as background job processing, queues with priorities (FIFO, LIFO, and others), among other features. 'Bull' uses Redis for queue storage, so if your application crashes for any reason, once it's back online, it will continue executing the processes that are in the queue. In our case, we'll use the FIFO (First in, first out) queue solution, meaning priority based on arrival order.
While many ways to write scalable Node.js applications exist, all narrow down to the underlying architecture. However, common hurdles in Node.js include serving static files, task scheduling, and utilizing available resources. To combat these, you can use a tactical approach. Because serving static assets with Node.js takes CPU time, a proxy content delivery network like CloudFront should help fix it. Recurring tasks need to fire events, which isn’t reliable with setTimeout or setInterval. As a solution, you can use a task scheduler framework like agenda.js. To handle resource utilization, you can use the cluster feature in Node.js, which listens to ports, accepts new connections, and distributes them across workers with built-in smarts to avoid overloading the process.
If you only need a single instance, you can use Bree to handle your cron jobs without blocking your main thread.
Project mention: My prepared repositories for hacktoberfest 23 - any contributions are welcomed 🚀 | dev.to | 2023-10-01View on GitHub
For running queues on Postgres with Node.js backend(s), I highly recommend https://github.com/timgit/pg-boss. I'm sure it has it scale limits. But if you're one of the 90% of the apps that never needs any kind of scale that a modern server can't easily handle then it's fantastic. You get transactional queueing of jobs, and it automatically handles syncing across multiple job processing servers using Postgres locks.
Project mention: Open source Job Scheduler Library in java for high throughput | /r/java | 2023-11-20As we understand for high scalability we need distributed schedulers which supports sharding feature like Elastic Job (elastic job) or open job (open job) however these seems more complex to understands compared to quartz or db scheduler and may be overkill for our use case .
NestJS has a @nestjs/bullmq package Github link but the official documentation of NestJS does not have example of @nestjs/bullmq and bullmq.
Job related posts
- Queuing jobs in NestJS using @nestjs/bullmq package
- Openjob
- A distributed task scheduling framework
- Distributed high performance task scheduling framework
- Can I make NodeJS app loop forever?
- What is a good background scheduler?
- Review: node-cron
-
A note from our sponsor - SurveyJS
surveyjs.io | 26 Apr 2024
Index
What are some of the best open-source Job projects? This list will help you:
Project | Stars | |
---|---|---|
1 | bull | 15,039 |
2 | agenda | 9,236 |
3 | shardingsphere-elasticjob | 8,058 |
4 | PowerJob | 6,457 |
5 | bree | 2,868 |
6 | latexcv | 2,655 |
7 | croner | 1,862 |
8 | JobFunnel | 1,740 |
9 | go-quartz | 1,642 |
10 | pg-boss | 1,625 |
11 | openjob | 878 |
12 | bull | 568 |
13 | SwiftQueue | 401 |
14 | EasyApplyJobsBot | 317 |
15 | GitHubActionsTestLogger | 264 |
16 | YACLib | 246 |
17 | Factotum | 218 |
18 | jenkins-job-wrecker | 161 |
19 | job | 141 |
20 | mongodb-cron | 93 |
21 | kjob | 83 |
22 | repid | 58 |
23 | Conveyor MQ | 50 |
Sponsored