Comments (6)
There's nothing like EM::Deferrable right now, sorry. I'll leave this ticket open as a feature request.
from cool.io.
Then is there suggested way to write long running tasks that will not lock reactor? To make example:
require 'rubygems'
require 'cool.io'
ADDR = '127.0.0.1'
PORT = 4321
cool.io.connection :echo_server_connection do
on_connect do
sleep 1
puts "#{remote_addr}:#{remote_port} connected"
end
end
cool.io.server ADDR, PORT, :echo_server_connection
cool.io.run
I want this to allow accepting another connection before sleep is over. Any suggestions?
from cool.io.
You can spin off long running tasks in separate threads. To unblock the event loop, you can use an AsyncWatcher:
https://github.com/tarcieri/cool.io/blob/master/lib/cool.io/async_watcher.rb
from cool.io.
+1 for deferrable mixin.. So much of existing EM code relies on deferrables that not having it in cool.io makes transition pretty painful.
from cool.io.
Let me revisit this...
from cool.io.
I just moved https://github.com/dturnbull/ruby-redis to cool.io. I pulled in EM::Deferrable but I think its interface is wonky and the timer won't work so I have a new one designed that I'll be writing up this week.
from cool.io.
Related Issues (20)
- JRuby support HOT 7
- Easier HTTP client for cool.io? HOT 4
- Fiber-aware deferred operation HOT 4
- windows ruby1.8.7 support HOT 1
- More fine GVL release span HOT 2
- Question HOT 1
- CPU100% on Windows Server 2012 HOT 20
- JRuby support again HOT 5
- Remove Cool.io::HttpClient HOT 1
- Remove cool.io/eventmachine.rb HOT 1
- Thread#join using coolio makes a process down on Windows. HOT 3
- Example Program in README.md not worked. HOT 5
- Investigate "expected loop to be an instance of Coolio::Loop" error HOT 2
- Change FT_SETSIZE on Windows HOT 1
- Cool.io::TCPServer continues to receive data even if its close method is called HOT 3
- Could not install when using Ruby 2.5 (x64-mingw32) HOT 2
- Use github.io instead of github.com on description HOT 1
- Two test failures with IPv6? HOT 1
- cool.io v1.7.1 fat gem doesn't include Ruby 3.0 binaries HOT 1
- cool.io is no longer buildable on Ruby 3.3.0-dev
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cool.io.