-
-
Notifications
You must be signed in to change notification settings - Fork 850
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
Concurrent ios pushes #497
Conversation
…bout "loop variable token captured by", need to determine if its a legitiment issue, as the lint message has now disappeared
It appears that tests are failing due to the redis service not running
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it possible to write some bench tests for Ios send push case?
It seems to me that Redis is OK and the problem with tests is in the Makefile:
P.S. Nope, my bad, Makefile is OK as well... Strange... |
How would you want such bench test to be done? Would you want it automated with an assert, or just report. Would a separate test suite maybe be more appropriate? Say mock out the the client.push to sleep for 1 seconds. Have it send 10 notifications, check if it return less than 2 seconds? The thing is, we are then basically testing that the co-routine is running in parallel. Which is another reason I was using the external library to limit it, It could then have been argued we were basically just re-testing library code. I don't think theres a massive benefit to adding automated benchmarks tests. Id suggest maybe adding something similar to @yaronius script, maybe running it in sync mode and using |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
I thought So Ive since made it that MaxConcurrentPushes applies across all pushes by moving the channel to global. One caveat with this is, a new push will be processed with the same priority as the previous one, ie they will be mixed in. As opposed to finishing the first push and then moving one. Its neither correct nor incorrect. I think thats us now. |
@McPo Please fix the error: https://cloud.drone.io/appleboy/gorush/322/1/8 |
Done! Sorry about that. |
fail in |
Co-Authored-By: Yaroslav "Zorg" Zborovsky <yaronius@users.noreply.github.com>
@McPo Thanks. |
Runs
client.Push
concurrently for iOS pushes, drastically increases performance of gorush. I have tested this along with ensuring logs are return in sync mode and that retries are made. It all seems ok. (Although maybe Im missing something??)Resolves (hopefully) #470