Dominykas Mostauskis
Dominykas Mostauskis

Reputation: 8125

How to trigger a method call every x minutes in Scala?

I'm planning a mechanism whose usage scenarios would be like cron's. It's a clock-ish mechanism that attempts task execution at prespecified times. Cron doesn't seem suitable, because these tasks trigger Scala method calls and the queue stored on a cloud database.

I imagine it like this: every x minutes, tasks' execution dates are retrieved from the database, and compared against current time, if the task is over-due it is executed and removed from queue.

My question is: how do I run the aforementioned check every x minutes on a distributed environment?

All advice encouraged.

Upvotes: 2

Views: 4574

Answers (2)

Mark Lister
Mark Lister

Reputation: 1143

I think the Akka scheduler might be what you are looking for. Here's a link to the Akka documentation and here's another link describing how to use Akka in Play.

Update: as Viktor Klang points out Akka is not a scheduler, however it does allow you to run a task periodically. I've used it in this mode quite successfully.

Upvotes: 3

Alexey Romanov
Alexey Romanov

Reputation: 170733

The best known library for this is Quartz Scheduler.

Upvotes: 1

Related Questions