-
Notifications
You must be signed in to change notification settings - Fork 80
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
Task queue metrics helper methods #108
Open
alanhamlett
wants to merge
6
commits into
closeio:master
Choose a base branch
from
alanhamlett:task_count_from_queue
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 5 commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
bf5ade7
Task.task_count_from_queue helper method
alanhamlett 4934f7f
fix pep8 linter issues
alanhamlett 00ba1f8
example of task_count_from_queue in readme
alanhamlett 651a042
tests for new helper method
alanhamlett debbcb2
Task.queue_metrics helper classmethod
alanhamlett 843e016
fix readme typo
alanhamlett File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,26 +1,32 @@ | ||
# The retry logic is documented in the README. | ||
from .exceptions import StopRetry | ||
|
||
|
||
def _fixed(retry, delay, max_retries): | ||
if retry > max_retries: | ||
raise StopRetry() | ||
return delay | ||
|
||
|
||
def fixed(delay, max_retries): | ||
return (_fixed, (delay, max_retries)) | ||
|
||
|
||
def _linear(retry, delay, increment, max_retries): | ||
if retry > max_retries: | ||
raise StopRetry() | ||
return delay + increment*(retry-1) | ||
return delay + increment * (retry - 1) | ||
|
||
|
||
def linear(delay, increment, max_retries): | ||
return (_linear, (delay, increment, max_retries)) | ||
|
||
|
||
def _exponential(retry, delay, factor, max_retries): | ||
if retry > max_retries: | ||
raise StopRetry() | ||
return delay * factor**(retry-1) | ||
return delay * factor ** (retry - 1) | ||
|
||
|
||
def exponential(delay, factor, max_retries): | ||
return (_exponential, (delay, factor, max_retries)) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
This is actually called
task_count_from_queue
in the code.Also, another approach would be to let you pass 0 into
tasks_from_queue
(currently it's undefined). That way we wouldn't need to add a new function.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.
tasks_from_queue
usesmget
and then loops over all the returned tasks. It's much faster to usezcount
to only get the count of tasks from redis.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.
Fixed the readme with 843e016.
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.
I meant that passing
limit=0
should make it just return the count and an empty list.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.
Oh, got it. I prefer methods to not change behavior. Would you be ok with leaving them separate methods?