1
0
Fork 0
mirror of https://github.com/benbusby/farside.git synced 2025-05-16 23:40:03 +00:00

Use quantum core for update scheduling

Rather than requiring a traditional crontab install, the app now
leverages quantum-core (link below) to schedule the instance update/sync
task every 5 minutes. Some updates as a result:

  - The new job is scheduled at runtime in server.ex.
  - The update.exs script was refactored to be compiled along with the
    rest of the app as instances.ex.
  - Scheduler and Server modules were added for creating and executing
    the new update task
  - All shell scripts were removed, as they are no longer needed

https://github.com/quantum-elixir/quantum-core
This commit is contained in:
Ben Busby 2021-11-24 09:35:21 -07:00
parent d1c9212994
commit ff97d258f0
No known key found for this signature in database
GPG key ID: 339B7B7EB5333D14
10 changed files with 53 additions and 36 deletions
lib/farside

View file

@ -7,7 +7,8 @@ defmodule Farside.Application do
@impl true
def start(_type, _args) do
plug_children = [
plug_children = System.get_env("FARSIDE_NO_ROUTER") && [] || [
Plug.Cowboy.child_spec(
scheme: :http,
plug: Farside.Router,
@ -19,9 +20,10 @@ defmodule Farside.Application do
]
children = [
{Redix, {@redis_conn, [name: :redix]}} |
System.get_env("FARSIDE_NO_ROUTER") && [] || plug_children
]
{Redix, {@redis_conn, [name: :redix]}},
Farside.Scheduler,
Farside.Server
] ++ plug_children
opts = [strategy: :one_for_one, name: Farside.Supervisor]
Supervisor.start_link(children, opts)