Only generate calculate in the future

This prevents backscheduling in cases of farmbot rebooting or going
offline
pull/974/head
Connor Rigby 2019-07-12 11:33:36 -07:00
parent 0d96ca9cb3
commit 7aff1dd3e9
No known key found for this signature in database
GPG Key ID: 29A88B24B70456E0
1 changed files with 5 additions and 5 deletions

View File

@ -2,7 +2,7 @@ defmodule FarmbotCore.FarmEventWorker.SequenceEvent do
require Logger
alias FarmbotCeleryScript.AST
alias FarmbotCore.{
Asset,
Asset,
Asset.FarmEvent
}
use GenServer
@ -18,12 +18,12 @@ defmodule FarmbotCore.FarmEventWorker.SequenceEvent do
farm_event = state.farm_event
farm_event
|> FarmEvent.build_calendar(farm_event.start_time)
|> FarmEvent.build_calendar(DateTime.utc_now())
# get rid of any item that has already been scheduled/executed
|> Enum.reject(fn(scheduled_at) ->
|> Enum.reject(fn(scheduled_at) ->
Asset.get_farm_event_execution(farm_event, scheduled_at)
end)
|> Enum.each(fn(at) ->
|> Enum.each(fn(at) ->
schedule_sequence(farm_event, at)
end)
{:noreply, state}
@ -56,4 +56,4 @@ defmodule FarmbotCore.FarmEventWorker.SequenceEvent do
}
FarmbotCeleryScript.schedule(celery_ast, at, farm_event)
end
end
end