Hacker Newsnew | past | comments | ask | show | jobs | submit | followben's commentslogin

Wow. Charles was indispensable tool for working with HTTP apis back when I got started as an iOS dev in 2011. Great to see it still going strong.


In 1990 I was super excited to have my high school work experience application accepted to CSIRO in Macquarie Park, only to find when I turned up that I’d spend the whole boring week cataloging magnetic tape from these dull satellites Landsat 4 & 5. The only time my greybeard supervisor seemed remotely animated was when he started imagining what imagery 6 & 7 would send back.

How wrong I was; what this now greybeard wouldn’t give to rummage through that lab again.

RIP #7.


How does this compare to other pg-backed python job runners like Procrastinate [0] or Chancy [1]?

[0] https://github.com/procrastinate-org/procrastinate/

[1] https://github.com/TkTech/chancy


Gabe here, one of the hatchet founders. I'm not very familiar with these runner so someone please correct me if I missed something.

These look like great projects to get something running quickly, but likely will experience many of the challenges Alexander mentioned under load. They look quite similar to our initial implementation using FOR UPDATE and maintaining direct connections from workers to PostgreSQL instead of a central orchestrator (a separate issue that deserves its own post).

One of the reasons for this decision to performantly support more complex scheduling requirements and durable execution patterns -- things like dynamic concurrency [0] or rate limits [1] which can be quite tricky to implement on a worker-pull model where there will likely be contention on these orchestration tables.

They also appear to be pure queues to run individual tasks in python only. We've been working hard on our py, ts, and go sdks

I'm excited to see how these projects approach these problems over time!

[0] https://docs.hatchet.run/home/concurrency [1] https://docs.hatchet.run/home/rate-limits


Chancy dev here.

I've intentionally chosen simple over performance when the choice is there. Chancy still happily handles millions of jobs and workflows a day with dynamic concurrency and global rate limits, even in low-resource environments. But it would never scale horizontally to the same level you could achieve with RabbitMQ, and it's not meant for massive multi-tenant cloud hosting. It's just not the project's goal.

Chancy's aim is to be the low dependency, low infrastructure option that's "good enough" for the vast majority of projects. It has 1 required package dependency (the postgres driver) and 1 required infrastructure dependency (postgres) while bundling everything inside a single ASGI-embeddable process (no need for separate processes like flower or beat). It's used in many of my self-hosted projects, and in a couple of commercial projects to add ETL workflows, rate limiting, and observability to projects that were previously on Celery. Going from Celery to Chancy is typically just replacing your `delay()/apply_async()` with `push()` and swapping `@shared_task()` with `@job()`.

If you have hundreds of employees and need to run hundreds of millions of jobs a day, it's never going to be the right choice - go with something like Hatchet. Chancy's for teams of one to dozens that need a simple option while still getting things like global rate limits and workflows.


Another good one is pgqueuer https://github.com/janbjorge/pgqueuer


Celery also has postgres backend, but I maybe it's not as well integrated.


It's just a results backend, you still have to run rabbitmq or redis as a broker


Yeah, this is a bugbear. FWIW my wife and I "share" keychain items by airdropping them to one another as required. It works, but nowhere near as nice as having a common record we can both maintain.


My wife and I do the same and it actually works better than sharing because my wife understands how to do it without me trying to teach her.


If only FastAPI could achieve the same…


FastAPI has 50% as many issues open right now, as Flask has had in total (1.1K vs 2.3K), and ~500 open PRs currently while Flask has had ~2.2K PRs in total.

Yet, both repositories have closed the same amount of issues during the last month, but FastAPI only merged 2 PRs while Flask has merged 21.

Popularity probably plays into this a lot, but it's also just very clear that whoever is doing the management of Flask, is doing an excellent job! Kudos.


I personally have a PR ready to go which adds documentation for API Key Auth (missing page till now, very requested by community[1]), which has been ready since early May, stagnant for almost 3 months now[2], don't know how to bump without spamming.

It's unfortunate, because FastAPI is one of the best libraries I know of otherwise in terms of capabilities for time spent writing code. Nowadays, though, when recommending this lib at work, I need to add "but pray you don't hit a bug or missing docs, or you're on your own".

[1]: https://github.com/tiangolo/fastapi/issues/142 [2]: https://github.com/tiangolo/fastapi/pull/4818


FastAPI has a lot of straight-up low-effort, borderline spammy questions. I think it's a community /communication thing. Somehow flask keeps the riff-raff down, or at least in the discussion and out of issues. So however they do that, FastApi needs to do as well.

On top of that it definitely is in need of more top-down organization, delegation, and coordination.


It is also easier to manage for Flask - it is very mature and we fixed most of the issues present in FastAPI many years ago.


I'm not saying it's a bad or good thing, but FastAPI is run like a personal project. Most issues are ignored into oblivion.


For this reason I wouldn't recommend FastAPI for anything serious. If it works, fine, but if you hit an edge case... prepare for a world of trouble. I wouldn't build my stack on top of it.


Don’t hold your breath. The most common updates are changes to who sponsors the damn thing.


Node/JavaScript frameworks: are we a joke to you?

Lol


Try https://httpie.io/cli

No affiliation... just happy user relieved at deleting Postman :)


Also xh and curlie


Trello.

Lots of half-baked clones but remarkably few quality foss implementations. WeKan is… a mess. Taiga is complex & the frontend is CoffeeScript (!!). FocalBoard looks about the best of them, but it’s still missing many features and they’ve explicitly rejected calls for OAuth and/ or SAML because they want as a paid feature.


I’ve also tried many products to replace Trello and finally settled with Taiga. It doesn’t look complex, and the UI is great too. The only missing bits I find are native mobile apps.


Yup - huge fan 20yrs (!!) ago. Great community with plenty of players back then. I still log into my main character every couple of years just to check they’re still going.


This needs more upvotes.


I'd be interested in that article - be great if you could re-up the footnote :)


Oh damnit, completely forgot. Seems like I can’t edit my comment anymore, so here you go: https://ejpcmac.net/blog/about-using-nix-in-my-development-w...


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: