WIP: issue-routine-lock-idea2 #56
No reviewers
Labels
No labels
Automated
Backlog
Post_Prototype_1.0
Bot_Code
Core
Bot_Code
Custom
CI/CD
Complexity
Advanced
Complexity
Basic
Complexity
Expert
Complexity
Intermediate
Kind/Breaking
Kind/Bug
Kind/Bug Fix
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Nix
Ownership
Collab
Ownership
Collab with Leads
Ownership
Individual Lead
Ownership
In-Review
Ownership
Needs Owner > May Delegate
Ownership
Workshop with Leads
Phase 1.0
Requirements > Drafting
Phase 1.0
Requirements > Researching
Phase 1.0
Requirements > Review & Planning
Phase 2.0
Design > Research & Analysis
Phase 3.0
Coding > Implementation
Phase 4.0
QA > Unit Testing & Design
Phase 5.0
Resolution > Completed
Phase 5.0
Resolution > Review for Completion
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: modulatingforce/forcebot_rs#56
Loading…
Reference in a new issue
No description provided.
Delete branch "issue-routine-lock-idea2"
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?
Initial Description
Possible fix for #51.
LULE my version that's way too dank
Includes enhancements to
Chat
for blocking callsBranching off because changes are large, and may have introduced some problems here that need to be addressed as well
#51 (comment)
Plan of Action :
Chat
with an out queue that can be processed by blockingChat.say
methods@ -54,0 +142,4 @@
loop {
let r_ccc = r_cc.clone();
let chat_c = chat_ar.clone();
tokio::spawn(async move {
The following and patterns like this involving a
loop
and innertokio::spawn
are likely why we're seeing large memory usage with this changeloop {
let r_ccc = r_cc.clone();
let chat_c = chat_ar.clone();
tokio::spawn(async move {
Recommendation
for
loop instead of a infiniteloop
The above helped the spawning and high memory usage
The changes introduced here are definitely more than just the specific blocking scenario, but helps in other areas that may involve blocking and sending to chat
To Update, Memory usage after a 8 hour window while I slept had the bot running just under 20mb 🤤 (it started around 18-19mb)
Jesust that scared me when it jumped to 11GB before
I will admit though, I'm a little afraid of how this will scale will more elevated chatters, because all of this is stored in memory atm . Better would be DB solution, where I offload some of the larger data sets
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.