summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorBen Busby <noreply+git@benbusby.com>2021-11-24 09:35:21 -0700
committerBen Busby <noreply+git@benbusby.com>2021-11-24 09:35:21 -0700
commitff97d258f0ac2bbd3b89df892ce3aed08b5e0a42 (patch)
tree0a7f8452878ad0838befaf4e39f53ddc794d5338 /README.md
parentd1c9212994925bbe18f5bad7070f2a6238a969f8 (diff)
downloadfarside-ff97d258f0ac2bbd3b89df892ce3aed08b5e0a42.tar.gz
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
Diffstat (limited to 'README.md')
-rw-r--r--README.md12
1 files changed, 6 insertions, 6 deletions
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