Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Scheduler #21

Open
rdallman opened this issue Jul 27, 2017 · 2 comments
Open

Scheduler #21

rdallman opened this issue Jul 27, 2017 · 2 comments

Comments

@rdallman
Copy link
Contributor

In gitlab by @treeder on May 12, 2017, 11:33

  • Cron like scheduler to start functions
  • Make generic to hit any webhook

A format like Google AppEngine could be good, human readable: https://cloud.google.com/appengine/docs/standard/python/config/cron

The scheduler processes must be coordinated to ensure if multiple are running they don't start the same job.

@rdallman
Copy link
Contributor Author

In gitlab by @denismakogon on May 17, 2017, 17:26

So, there are two obvious options:

  1. Use something written in go for scheduling (like https://github.com/jasonlvhit/gocron) and build necessary API around it.
  2. Use open sourced cron schedulers like Chronos https://github.com/mesos/chronos or use unix native scheduler (https://en.wikipedia.org/wiki/Cron).

As far as i understand, scheduler should be capable of:

  • tasks CRUD
  • reporting for each task
  • policy-based rescheduling (i.e. do not reschedule if failed, do N attempts before suspending tasks, etc.)
  • notifications, i.e webhook to post when task failed, or send an email (pretty similar to what Nagios does with its monitoring and reporting)

@rdallman
Copy link
Contributor Author

In gitlab by @treeder on May 18, 2017, 10:12

This part should really just be the trigger that queues up a task/function. So essentially it just hits a URL on schedule defined by the user.

The rest of the things you mention in the bottom bullets should just be standard parts of Functions, not part of the scheduler.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants