-
Notifications
You must be signed in to change notification settings - Fork 29
TODO
Vadzim Tonka edited this page Jun 13, 2014
·
6 revisions
This document is used to keep track of the ideas we have for the future of the loops gem. Having an idea in this list does not guarantee an implementation, but should help to bring it closer to reality.
- Forward STDOUT/STDERR to the log file when running in background
- Integration tests (start loops process, stop, etc)
- Test helpers (create_loop, run_loop) for easier testing of loops classes
- Allow setting workers count in CLI (loops start hello -d -w 50)
- Global loop options override (global.override in YAML config could contain options that would set/override loop-specific values)
- Environment-specific configurations
- Per worker resource (memory) limits - allow user to set a soft and a hard limit on a loop and let manager control loop workers to make sure they never grow too big (by asking them to shut down early).
- Report loops metrics to statsd - add a worker-level API for emitting loop-specific metrics to statsd + add statsd-based monitoring for interesting events within the master process (count new worker spawning, worker restarts, etc).
- Worker pool auto-scaling (min_workers/max_workers in config and a feedback link between the loop and the process manager that would allow the loop to control scaling)
-
Add
config_option
helper methods that allow users to define which options are expected by the loop and provide an easy way to define default values:class FooLoop < Loops::Base config_option :poll_interval, 1 def run with_interval_of(poll_interval) do .... end end end