HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
eropple
taskbotjs
TypeScript2018–2018
eropple / taskbotjs · Archived

taskbotjs

My favorite JS/TS job processing framework. Maybe yours too? [ARCHIVED]

2Distinct people
4Mentions
0Explicit recommenders
484GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

My favorite JS/TS job processing framework. Maybe yours too? [ARCHIVED]

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by 6-hour interval4 dated mentions

Observed mentions: 2018-07-06 15:00:02 UTC to 2018-07-11 14:43:07 UTC.

01232018-07-06 12:00:00 UTC to 2018-07-06 18:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 commentsJul 6, 12:002018-07-06 18:00:00 UTC to 2018-07-07 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-07-07 00:00:00 UTC to 2018-07-07 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-07-07 06:00:00 UTC to 2018-07-07 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-07-07 12:00:00 UTC to 2018-07-07 18:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-07-07 18:00:00 UTC to 2018-07-08 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-07-08 00:00:00 UTC to 2018-07-08 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-07-08 06:00:00 UTC to 2018-07-08 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-07-08 12:00:00 UTC to 2018-07-08 18:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-07-08 18:00:00 UTC to 2018-07-09 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-07-09 00:00:00 UTC to 2018-07-09 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsJul 9, 00:002018-07-09 06:00:00 UTC to 2018-07-09 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-07-09 12:00:00 UTC to 2018-07-09 18:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-07-09 18:00:00 UTC to 2018-07-10 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-07-10 00:00:00 UTC to 2018-07-10 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-07-10 06:00:00 UTC to 2018-07-10 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-07-10 12:00:00 UTC to 2018-07-10 18:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-07-10 18:00:00 UTC to 2018-07-11 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-07-11 00:00:00 UTC to 2018-07-11 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-07-11 06:00:00 UTC to 2018-07-11 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-07-11 12:00:00 UTC to 2018-07-11 18:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsJul 11, 12:00

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Jul 6, 12:002018-07-06 12:00:00 UTC2018-07-06 18:00:00 UTC312
Jul 6, 18:002018-07-06 18:00:00 UTC2018-07-07 00:00:00 UTC000
Jul 7, 00:002018-07-07 00:00:00 UTC2018-07-07 06:00:00 UTC000
Jul 7, 06:002018-07-07 06:00:00 UTC2018-07-07 12:00:00 UTC000
Jul 7, 12:002018-07-07 12:00:00 UTC2018-07-07 18:00:00 UTC000
Jul 7, 18:002018-07-07 18:00:00 UTC2018-07-08 00:00:00 UTC000
Jul 8, 00:002018-07-08 00:00:00 UTC2018-07-08 06:00:00 UTC000
Jul 8, 06:002018-07-08 06:00:00 UTC2018-07-08 12:00:00 UTC000
Jul 8, 12:002018-07-08 12:00:00 UTC2018-07-08 18:00:00 UTC000
Jul 8, 18:002018-07-08 18:00:00 UTC2018-07-09 00:00:00 UTC000
Jul 9, 00:002018-07-09 00:00:00 UTC2018-07-09 06:00:00 UTC000
Jul 9, 06:002018-07-09 06:00:00 UTC2018-07-09 12:00:00 UTC000
Jul 9, 12:002018-07-09 12:00:00 UTC2018-07-09 18:00:00 UTC000
Jul 9, 18:002018-07-09 18:00:00 UTC2018-07-10 00:00:00 UTC000
Jul 10, 00:002018-07-10 00:00:00 UTC2018-07-10 06:00:00 UTC000
Jul 10, 06:002018-07-10 06:00:00 UTC2018-07-10 12:00:00 UTC000
Jul 10, 12:002018-07-10 12:00:00 UTC2018-07-10 18:00:00 UTC000
Jul 10, 18:002018-07-10 18:00:00 UTC2018-07-11 00:00:00 UTC000
Jul 11, 00:002018-07-11 00:00:00 UTC2018-07-11 06:00:00 UTC000
Jul 11, 06:002018-07-11 06:00:00 UTC2018-07-11 12:00:00 UTC000
Jul 11, 12:002018-07-11 12:00:00 UTC2018-07-11 18:00:00 UTC101

What Hacker News says

4 sources
This looks interesting. Some quick thoughts: - I was worried at first because I progressively trust non-TypeScript projects less and less, but the test suite looks fine and they have official typings so there's that mitigation at least. - I really don't love the use of static properties everywhere in order to define model schema. Which is probably a little hypocritical, because one of my own projects[0] does the same thing, but IMO decorators are a cleaner way to do it that reads better to a human. - Require loop detection in model relations is cool. I like that. - In general it's a little too string-y for my tastes. I think `eager()` should take a model class, for example, rather than a string name. Maybe behind the scenes it uses the model class and pulls the string name out of it? But I think using objects-as-objects is a better way to
Read the rest
do things than using strings-as-references. Overall, though, it seems very low-magic and I did understand most of it from a five minute peek, so I kind of like this. I think it's a little too JavaScript-y (rather than TypeScript-y) for my tastes, but maybe that can be addressed by layering on a bit of an adapter...I'll need to look deeper. [0] - https://github.com/eropple/taskbotjs
In Goodbye Microservices: From 100s of problem children to 1 superstar
Whee! My first Show HN. I've only been here, like, seven years and all. But, yeah, I've been tooling away on TaskBotJS in my metaphorical garage for a while. I've found Kue and Bull really frustrating to use (no shade intended; they feel like they made a lot more sense in a pre-ES6 universe?) and `node-resque`, while scratching a little more of that itch, just made me miss the comfortable guardrails of Ruby offline job queues. So I made one. As my day job is devops and devops accessories, making it easy to run and administer TaskBotJS was a big priority for me and I've tried to get the best of both worlds: mostly turn-key to run in simpler cases but less prescriptive and more pluggable at scale. TaskBotJS is pretty extensible and supports job middleware and event listeners; I have a Sentry plugin coming in the near future as an example (a
Read the rest
nd also 'cause I like Sentry). I also like to write documentation[0]. While it's not yet complete, what's there is pretty exhaustive and I try to explain my thinking as well as just "what it does"; capturing the whys is as important as the whats, to me, to better foster conversation around the project and to make for more constructive issues when systemic, design-focused concerns are raised. It's running in at least two production environments (only one of which is mine; I dogfood but I wouldn't have released it as a "you should check this out" version if somebody else wasn't checking me) and is being rolled out to at least one more in the near-ish future. Thanks for taking a peek, and I'd love to hear any actionable feedback that comes to mind. [0] - https://github.com/eropple/taskbotjs/wiki
In Show HN: TaskBotJS – TypeScript and JavaScript background job processing

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.