Rocket.Chat.Apps-engine icon indicating copy to clipboard operation
Rocket.Chat.Apps-engine copied to clipboard

Implement Scheduler

Open graywolf336 opened this issue 7 years ago • 1 comments

An Application needs the ability to schedule a task that runs at a configurable interval or at a specific time. This can be useful for several instances, such as a /remind command or a daily stand up question.

A task should only run on one server when there are several instances of Rocket.Chat running. To do this I am thinking of the following terminology (with more details coming later, as this is a rough brain dump issue post):

  • Workers
  • Worker IDs
  • Worker Grabbers
  • Manager
  • Queue
  • Time to Live

Some projects to look into that handle these things currently (reminder: the Apps are an abstraction layer from the database and backing system, thus all of these details are required even if the backing system already has it). meteor-syncd-cron and SteveJobs

graywolf336 avatar May 02 '18 21:05 graywolf336

PR related to this issue: https://github.com/RocketChat/Rocket.Chat.Apps-engine/pull/89

thassiov avatar May 14 '20 14:05 thassiov