async-container
async-container copied to clipboard
Scalable multi-thread multi-process containers for Ruby.
Hi, this is not really an issue, but I opened one since this project doesn't have github discussions yet. I'm curious how to better understand the "container" concept from this...
## Description It should be possible to support Ractor like multi-process. The main benefit is improved memory usage. The impacts are worse GC & isolation. ### Types of Changes -...
The [container example](https://github.com/socketry/async-container/blob/master/examples/container.rb) runs without doing anything: ```ruby controller = Async::Container::Controller.new do |container| Async.logger.debug(self, "Setting up container...") container.run(count: 1, restart: true) do Async.logger.debug(self, "Child process started.") while true sleep 1...
Discussed this with @ioquatix on Slack. Reproduce with the example code from the readme: ```ruby require 'async/container' class Controller < Async::Container::Controller def setup(container) container.async do |task| while true puts "hello"...
The idea is pretty straightforward. I find this quite handy to have such tool like this: ``` > cat ./script.rb before do |container, options| Console.logger.info(self, "=> Preparing workers...", options) end...
Hey @ioquatix. I'm getting myself familiar with async gems and feeling like it lacks documentation. I would love to work on this part. Do you have any thoughts on this?...
After running the test suite, a `dots` process is always left running (actually sleeping). This seems to be caused by the `restarts children when receiving SIGHUP` test, as the child...
Specs fail on CI against TruffleRuby ([example](https://github.com/socketry/async-container/actions/runs/3212002629/jobs/5250556841)) with the following error: ``` 1) Async::Container::Forked behaves like Async::Container should be blocking Failure/Error: ::Process.fork do Signal.trap(:INT) {raise Interrupt} Signal.trap(:TERM) {raise Terminate} begin...