Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

core: make plugins run in threads #60

Open
cyphar opened this issue Nov 17, 2013 · 7 comments
Open

core: make plugins run in threads #60

cyphar opened this issue Nov 17, 2013 · 7 comments
Labels

Comments

@cyphar
Copy link
Contributor

cyphar commented Nov 17, 2013

The current system only runs Kronos commands in threads, while all of the other triggers run in the main thread. This needs to be fixed before we can implement DoS protection (as suggested in #56) or any other time-sensitive operation. Also, it will allow for better separation of different tasks and make ninjabot more modular from an execution standpoint as well as a design standpoint. We could include limits on plugin threads, making some plugins have a higher priority than others, dedicate CPUs to particular threads, etc.

@auscompgeek
Copy link
Contributor

This could also be a step towards making ninjabot completely async.

@ackwell
Copy link
Owner

ackwell commented Nov 22, 2013

@auscompgeek This isn't Node.js. This is python.

But yes.

@cyphar
Copy link
Contributor Author

cyphar commented Nov 23, 2013

@auscompgeek stop spreading the buzzword love. This ain't node.js. We don't throw around words like "event-driven", "asynchronous", "content-aware", etc.

@auscompgeek
Copy link
Contributor

@cyphar b-b-b-but... but... 😿

@ackwell
Copy link
Owner

ackwell commented Nov 23, 2013

@cyphar yes we do. Watch us.

Personally, I think if we switch the bot to use a more event-driven model, we can really ramp up how much of it is running asynchronously. Once that's done and dusted, should be pretty easy to ensure it's content-aware.

@cyphar
Copy link
Contributor Author

cyphar commented Nov 23, 2013

@ackwell you forgot the HTML5 standard-compliant, user-generated, cloud-integrated, cloud-accelerated technology, requiring the event-driven backend to produce a dynamic, statically typed, content-enabled compilation architecture for the correctly designed reverse-framework to synchronise the asynchronous sockets travelling over the IPv6-accelerated internet gateways.

Now, that's marketing.

@ackwell
Copy link
Owner

ackwell commented Nov 23, 2013

... to synchronise the asynchronous sockets

You got me. I lost it big time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants