async-container icon indicating copy to clipboard operation
async-container copied to clipboard

Scalable multi-thread multi-process containers for Ruby.

Results 8 async-container issues
Sort by recently updated
recently updated
newest added

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...