From ff97d258f0ac2bbd3b89df892ce3aed08b5e0a42 Mon Sep 17 00:00:00 2001 From: Ben Busby Date: Wed, 24 Nov 2021 09:35:21 -0700 Subject: 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 --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index a2dd1da..c00ac88 100644 --- a/README.md +++ b/README.md @@ -26,11 +26,11 @@ bottlenecks and rate-limiting. ## How It Works -The app runs in a container that periodically (default every 5 minutes) queries -all instances for services defined in [services.json](services.json). For each -instance, as long as the instance takes <5 seconds to respond and returns a 200 -status code, the instance is added to a list of available instances for that -particular service. If not, it is discarded until the next update period. +The app runs with an internally scheduled cron task that queries all instances +for services defined in [services.json](services.json) every 5 minutes. For +each instance, as long as the instance takes <5 seconds to respond and returns +a 200 status code, the instance is added to a list of available instances for +that particular service. If not, it is discarded until the next update period. Farside's routing is very minimal, with only the following routes: @@ -69,7 +69,7 @@ request per second per IP. - Install [elixir](https://elixir-lang.org/install.html) - Start redis: `redis-server /usr/local/etc/redis.conf` - Install dependencies: `mix deps.get` -- Initialize redis contents: `mix run update.exs` +- Initialize redis contents: `mix run -e Farside.Instances.sync` - Run Farside: `mix run --no-halt` - Uses localhost:4001 -- cgit v1.2.3