beginners

Diego 2026-04-04T22:17:20.730149Z

Hello everyone, what's the correct / best way of running long term services? I'm consideting core.async/thread

p-himik 2026-04-05T07:28:38.974859Z

If you're already using core.async for that and simply want to do something long-running in a go block, then yes, thread is the right tool for that.

p-himik 2026-04-04T22:21:01.138019Z

Depends. A regular future might be enough.

Diego 2026-04-04T22:28:04.806839Z

Even if the service is high in I/O?

p-himik 2026-04-04T22:32:21.054559Z

How is having a separate long-running thread related to I/O? Note that core.async/thread also takes up a thread for its work. You simply get a channel back, and the thread and future functions use different thread pools. Those are the only practical differences.

seancorfield 2026-04-04T23:19:48.124629Z

At work, we have our "long-running services" as separate JARs that run independently. So maybe I'm not understanding your requirements here?

Diego 2026-04-04T23:55:04.966509Z

I have many small projections running, basically they pull events and write to different databases. I wanted to avoid running multiple JARs to save on ram and resources used by the JVM.