-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
feat: introduce queue ✨ #464
feat: introduce queue ✨ #464
Conversation
@chrisleekr @uhliksk |
@habibalkhabbaz Nice job. I'll try. Thank you. @chrisleekr Please merge this #464 before my #462 as I can use this queueing mechanism instead of my simple queueing to solve #398 and #457. Thank you. |
@habibalkhabbaz Logging is working fine. |
Perfect! |
@habibalkhabbaz Is this because of racing the queue?
|
Hello @uhliksk |
@uhliksk After implementing the queue, we don't need to do the trick of locking the symbol in @chrisleekr let me know if you confirm me on this too. |
@habibalkhabbaz I found it was actually redis-server consuming too many resources. Even after the fix applied I had to restart redis-server manually. |
https://github.com/OptimalBits/bull/blob/master/PATTERNS.md#reusing-redis-connections
require('events').EventEmitter.defaultMaxListeners = 0;
|
@habibalkhabbaz I didn't analyzed this yet but I see CPU usage of redis-server is raising again and it's consuming same %CPU even after binance-bot is restarted. To reduce %CPU back to almost zero I have to restart binance-redis itself. This looks like the issue is something persistent on redis-server. Isn't the database on redis-server just growing without removing the old records? |
@habibalkhabbaz It is growing fast. |
@uhliksk Thanks for the info. It helps me to debug. |
@uhliksk |
@habibalkhabbaz Great job! Thank you. |
@uhliksk Going to bed now. It's 2AM here haha. |
Hello @habibalkhabbaz, there is no issue since last commit on my side. I think this PR is ready to be reviewed by @chrisleekr. |
Hi guys, It is great. :) I will review/test it this weekend. |
Guys, I've added Bull Board to the stack. To be saving space, I limit it to keeping 100 completed tasks. As this board does not have authentication, I think we can add in later on. So far the changes look good. I will continue to review/test. |
Nice changes @chrisleekr 🎉 Update: I see that the bull board is a good addition, and for the time being, we can use it for monitoring and debugging like we can see if a symbol received its ticks correctly or not and when. Also, I think we can pass the
Using this will show the progress of the job on the bull board and I think if the job failed we can see that the progress is not completed. |
Yeah, that would be a good addition. 👍 This queue implementation is pretty stable. I can see a lot of benefits. |
I reviewed the code @habibalkhabbaz |
Thank you @chrisleekr |
It's merged. Thanks for your contributions guys. I have a few things to fix before releasing a new version. |
Description
This PR introduces the queue feature
orderId
Related Issue
#451
#463
Motivation and Context
After moving to WebSocket we encounter some small issues regarding the trailingTrade execution, we start thinking about using a queue to improve the bot #448
How Has This Been Tested?
Screenshots (if appropriate):