Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/ruby
- pid = fork do
- def find_order
- # check for order and return one if found
- end
- monitor = Fiber.new do
- # Keep checking
- loop do
- # check for new orders in a loop
- order = find_order
- # When one is found
- if order.found?
- # Pass the order to handle Fiber
- handle.resume order
- end
- # Wait 5 minutes
- sleep 60*5
- end
- end
- handle = Fiber.new do |order|
- # handle it here... then resume monitoring
- monitor.resume
- end
- end
- Process.detach(pid)
Add Comment
Please, Sign In to add comment