Actor Timer for long running applications?

I apologize if this question or something similar was asked here before. I tried to quickly scan the discussions here, before posting my question.

My question here is related to the Actor Timers. So, going over the documentation here:
Specifically where it talks about the Scheduler’s limitations " The Akka scheduler is not designed for long-term scheduling …The maximum amount of time into the future you can schedule an event to trigger is around 8 months"

The question is does the same or some comparable limitation apply to the Actor Timers too? And, what are other limitations of the Timers? Can it be used in long-running applications, where the timer could run “forever”, assuming the actor itself doesn’t die, because the timer is tied to the Actor lifecycle.

Just an FYI, my intention is to use a long running scheduler or timer system in Actor where it would message itself. I see the akka-quartz-scheduler as an alternative, but in some cases I need something executing at an interval of 100s of milliseconds, which is not supported by the quartz scheduler, it appears. And as far as I know, you can’t tell the quartz scheduler easily or in a nice way to run something every so-and-so minutes, starting now (i.e. dealing with the cron expression dynamically looks yucky)


The actor timers are backed by the scheduler so the same applies there.

Can’t really recommend on a scheduling solution that covers both short things and cron like but dynamic tasks though. Perhaps just mix both a cron like scheduler and usage of the Akka scheduler/actor timers, or implement a cron-like tool for your specific requirements.

Alright, thanks for the clarification!

A follow up question. If I was to use the quartz cron scheduler that triggers a timer. Would the timer still function properly after 8 months?

Thanks, Alex

I wouldn’t trust that it would trigger accuratly after months.