1
1
Fork
You've already forked MegBot
0

Rework Megbot's multi-connection support #80

Open
opened 2017年11月03日 21:22:06 +01:00 by moggers87 · 0 comments
moggers87 commented 2017年11月03日 21:22:06 +01:00 (Migrated from github.com)
Copy link

Currently we have this horrible situation where each connection has its own thread, and each call to a plugin is spun off into a separate thread too.

This isn't too bad until you realise that each connection has its own copy of the plugin modules. In theory this was to allow module reloading, however it never worked and the syntax to fetch the local copy of a library is awful. Previously, certain libraries were added into the plugin's scope at load-time, but this made code readability even worse than it is now.

I propose that we make each connection its own process, allowing each connection to have its own copy of modules without resorting to any magic or unreadable syntax. If we wish to reintroduce code reloading at a later date, this will be significantly easier than before.

Currently we have this horrible situation where each connection has its own thread, and each call to a plugin is spun off into a separate thread too. This isn't too bad until you realise that each connection has its own copy of the plugin modules. In theory this was to allow module reloading, however it never worked and the syntax to fetch the local copy of a library is awful. Previously, certain libraries were added into the plugin's scope at load-time, but this made code readability even worse than it is now. I propose that we make each connection its own process, allowing each connection to have its own copy of modules without resorting to any magic or unreadable syntax. If we wish to reintroduce code reloading at a later date, this will be significantly easier than before.
Sign in to join this conversation.
No Branch/Tag specified
master
tests-question-mark
too-tired-to-test
JT-keeper
master-backports
No results found.
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
tsyesika/MegBot#80
Reference in a new issue
tsyesika/MegBot
No description provided.
Delete branch "%!s()"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?