diff options
| author | Ben Busby <noreply+git@benbusby.com> | 2021-11-24 09:35:21 -0700 |
|---|---|---|
| committer | Ben Busby <noreply+git@benbusby.com> | 2021-11-24 09:35:21 -0700 |
| commit | ff97d258f0ac2bbd3b89df892ce3aed08b5e0a42 (patch) | |
| tree | 0a7f8452878ad0838befaf4e39f53ddc794d5338 /README.md | |
| parent | d1c9212994925bbe18f5bad7070f2a6238a969f8 (diff) | |
| download | farside-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.md | 12 |
1 files changed, 6 insertions, 6 deletions
@@ -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 |
