Even intervals to schedule your task
Created a library Every to use with periodic tasks when you need to schedule you task at even intervals, for example every 5 minutes, every minute, every hour, every 2 hours, every day and so on. And can be used with Process.send_after/3.
# Lets say we want to trigger our task every 5 minutes and current time is 12:02
# so next call will be at 12:05, 12:10 ... 12:55 ...
Process.send_after(self(), :work, Every.minutes(5))
# If we want to trigger every minute
Process.send_after(self(), :work, Every.minute())
# If we want to trigger every hour
Process.send_after(self(), :work, Every.hour())
# If we want to trigger every 2 hours
Process.send_after(self(), :work, Every.hours(2))
# If we want to trigger every day
Process.send_after(self(), :work, Every.day())
Read next Managing fault tolerance in Elixir with supervision trees
