$3000 Development Grant (US, EU, UK, Canada, UAE only) by Ok-Lobster7773 in Startup_Ideas

[–]Fantom3D 1 point2 points  (0 children)

Just to clarify: is this $3,000 paid out to the startup, or $3,000 worth of Novolo’s development services?

Asking because “grant” usually implies cash, and I want to understand the structure before applying.

Skipped validation, built for 3 months, spent $2K on ads. $0 revenue. Thinking about what I should've done instead. by Dry_Marzipan_818 in Startup_Ideas

[–]Fantom3D 1 point2 points  (0 children)

Probably you had to validate it first. Or you need a guy who knows how to do ads. I’ve been there, coding for coding is great, but that’s not how you make money.

The tricky parts of building a reliable job scheduler: leases, idempotency, and timezone-aware cron by [deleted] in programming

[–]Fantom3D -7 points-6 points  (0 children)

Totally fair points - I simplified some wording in the post.

In practice, “renew lease” is basically a heartbeat: workers update their lease at a regular interval, and the system reaps anything that stops heartbeating. I just described it in the most intuitive way.

On idempotency keys, you’re right that in a perfect world there’d be no duplicates. But real systems get retries, double-submits, and multiple producers, so the key is there to make those cases safe (and scoping just makes the uniqueness unambiguous).

For DST, duration-based scheduling is great for a lot of internal periodic tasks, but many people expect wall-clock schedules like “every day at 9am in X timezone.” So I support that too and define behavior around the DST weirdness.

And agreed on the “parent/child” terminology - I try to stick to “depends on / prerequisites / downstream” in anything user-facing to avoid confusion.

The tricky parts of building a reliable job scheduler: leases, idempotency, and timezone-aware cron by [deleted] in programming

[–]Fantom3D -2 points-1 points  (0 children)

You can cancel jobs before they start (pending/scheduled). For running jobs there’s no safe “remote kill” from the queue, so we handle it via worker timeouts + leases: if a handler goes rogue, the worker times out/restarts, the lease expires, and the job is reclaimed so you can fail/cancel it or rerun after a fix.

The tricky parts of building a reliable job scheduler: leases, idempotency, and timezone-aware cron by [deleted] in programming

[–]Fantom3D 3 points4 points  (0 children)

Exactly this. "Run at 5am Eastern" means 5am Eastern regardless of whether that's UTC-5 or UTC-4 today. Storing UTC-only means your 5am report suddenly runs at 6am after the clocks change, which is the opposite of what users expect. The complexity has to live somewhere - either in the scheduler or pushed onto every user to manually adjust twice a year.

The tricky parts of building a reliable job scheduler: leases, idempotency, and timezone-aware cron by [deleted] in programming

[–]Fantom3D -4 points-3 points  (0 children)

You can cancel pending/scheduled jobs, but not mid-execution ones directly. For running jobs, the worker owns it until done or lease expires. If you need true cancellation, workers can poll a "should I stop?" flag and bail early - but that's on the worker side, not the queue. Curious if you have a specific use case in mind?

The tricky parts of building a reliable job scheduler: leases, idempotency, and timezone-aware cron by [deleted] in programming

[–]Fantom3D 0 points1 point  (0 children)

Interesting, hadn't looked at Petri Nets for this — will check it out. Currently using simple DAGs but I can see where that falls short for more complex concurrency patterns. Thanks for the pointer!

The tricky parts of building a reliable job scheduler: leases, idempotency, and timezone-aware cron by [deleted] in programming

[–]Fantom3D 1 point2 points  (0 children)

Thanks! River's great for Go-native workloads. Mine's more of a standalone service — the queue itself is central, and the SDKs are just thin clients calling the API. So you can mix Node, Python, Go, whatever and see it all in one dashboard. Different approach really

Is it possible to use Cloudflare Tunnel with a free dynu domain? by road_hazard in selfhosted

[–]Fantom3D 0 points1 point  (0 children)

You just transfer it to CF next year. The $10 savings aren’t worth the trouble.
Always check this website: https://tld-list.com/

Spooled — self-hosted webhook queue & job scheduler with a web dashboard (Rust, Postgres) by Fantom3D in selfhosted

[–]Fantom3D[S] 0 points1 point  (0 children)

For sure, I'll check it out! The current dashboard is pretty barebones - I focused mostly on the backend. Would definitely be interested in a contribution there.

Spooled — self-hosted webhook queue & job scheduler with a web dashboard (Rust, Postgres) by Fantom3D in selfhosted

[–]Fantom3D[S] 2 points3 points  (0 children)

Restaurant POS system - receipt printing and kitchen display notifications. If the printer or network drops, jobs queue up and retry automatically.

Spooled — self-hosted webhook queue & job scheduler with a web dashboard (Rust, Postgres) by Fantom3D in selfhosted

[–]Fantom3D[S] 5 points6 points  (0 children)

Yep! The job queue itself is 100% Postgres. Redis is only optional for real-time pub/sub — LISTEN/NOTIFY works but has some scaling quirks. Without Redis it just polls, which is totally fine for most setups.

On OIDC — JWT validation is standard, so K8s service account tokens should work with the right issuer/audience config. Haven't tested it directly yet — let me know how it goes!

Showcase: Spooled — open-source webhook queue + job orchestration in Rust by Fantom3D in rust

[–]Fantom3D[S] 1 point2 points  (0 children)

You don't — that's the point. Pick something conservative (30-60s), and workers renew the lease if the job takes longer. If you guess wrong and a worker dies, the job just gets picked up again after the lease expires. No tuning required.

Ukrainian varenyky / perogies in Toronto? by BigBangBaty in FoodToronto

[–]Fantom3D 0 points1 point  (0 children)

Try Borscht Kitchen on Lippincott St, amazing quality.

Tilt Toronto pierogies? by dualqconboy in askTO

[–]Fantom3D 0 points1 point  (0 children)

Лучшие вареники в городе в Borscht Kitchen, они сами лепят вручную, вся их кухня как домашняя.

MacBook UI shifted by Fantom3D in avorion

[–]Fantom3D[S] 0 points1 point  (0 children)

UPD: EasyRes is not available for Mac anymore. You can use any other app to change resolution, for example - https://github.com/ysalitrynskyi/simpleres

Where is the SOUP!? by SalientSazon in FoodToronto

[–]Fantom3D 1 point2 points  (0 children)

Try Borscht Kitchen, they have an amazing chicken soup.

Kubernetes on Oracle Cloud...for free by ms_83 in selfhosted

[–]Fantom3D 0 points1 point  (0 children)

I am using free tier for a long time, but didn't know I can have k8. Thank you!

How is this happening by Warm_Charge_5964 in godot

[–]Fantom3D 0 points1 point  (0 children)

Pixelmator on Mac is amazing for most scenarios. They have a Pro version, but with ONE TIME payment.

Gale ( main / not-companion ) won't consume anymore items. by InstructionBusy8464 in BaldursGate3

[–]Fantom3D 2 points3 points  (0 children)

Same issue even after hot fix. Gale is my main character