Skip to content

anewusername1/forkme

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gem install forkme

A library for managing forks

The mother process spawns a fork and opens an io from the child to the parent and vice versa.
If the mother process dies, the children commit suicide. They also accept HUP and INT calls and die then as well.

Used like so,

forkme = Forkme.new(num_of_childs, Logger)
forkme.start do
  sleep 10
  puts "hey!!!"
end

The above code will continuously print "hey!!!". Once the child process has slept 10 seconds and printed "hey!!!" it will die and the mother process will start another to replace it.
You can start this in a thread if you'd like to have control back after spawning the children.
Thread.new do
  forkme.start do
    ...
  end
end

If you have to change the number of max forks forkme should spawn, it can be done
forkme = Forkme.new(num_of_childs, Logger)
forkme.start do
  forkme.max_forks = new_num_of_childs
  sleep 10
  ...do something...
end

Have fun and enjoy :]

About

Fork pool manager

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages