I thought this may be another very cool addition: Use the same underlying infrastructure to expose a Haskell DSL that allows one to write Haskell code instead of the config file. You would compile the config file into an executable that does the watching.
This would certainly be for the more advanced use cases or when re-usability/modularity pays off due to a large deployment.
Here are some capabilities this would bring:
- High modularity - Haskell functions are inherently highly reusable
- Determine some configuration parameters dynamically at run-time (ask a database for which and how many processes should be live)
- Implement custom load throttling - scale up/down processes based on CPU/memory availability
- Implement more sophisticated restart patterns (exponential backoff, etc.)
- Signal other entities as up/down events happen
I thought this may be another very cool addition: Use the same underlying infrastructure to expose a Haskell DSL that allows one to write Haskell code instead of the config file. You would compile the config file into an executable that does the watching.
This would certainly be for the more advanced use cases or when re-usability/modularity pays off due to a large deployment.
Here are some capabilities this would bring: