-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Add checkpoint feature to find_inactive_members.rb #268
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
base: master
Are you sure you want to change the base?
Conversation
Hi @asendia. I like this idea, and I have run into the problem that you are describing myself. What help do you need to get this PR over the finish line? Do you need a review, or something else? |
I would also support this change and merge it once it has been tested by somebody else like @spier . I resolved the conflicts to upstream to the best of my knowledge already. |
I will try this out locally, and leave comments on this PR. |
@@ -278,6 +367,12 @@ def member_activity | |||
Octokit.configure do |kit| | |||
kit.auto_paginate = true | |||
kit.middleware = stack if @debug | |||
kit.connection_options = { |
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.
Curious why you added this configuration?
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.
Hi @spier, thank you for taking your time to review my PR. IIRC, the default values for both request.open_timeout and timeout are 60s. I adjusted the value since it was taking a lot of time for me to retry when it failed.
I used this script in conjunction with bash script (I forget the exact script):
while true; do ruby find_inactive_members.rb; sleep 30; done
I was wondering if instead of creating a custom caching solution, one could also use something like http://octokit.github.io/octokit.rb/#Caching instead? Don't have time right now to try it unfortunately, but maybe over the weekend. |
I am not too familiar with ruby as you can see from the code in my PR 🙇 My reasons:
CMIIW |
Script
find_inactive_members.rb
sometimes breaks while parsing large organization either caused by timeout or connection error.Checkpoint flag
--checkpoint
helps by storing Octokit API responses as json files indata/
, so that during re-run it will first try to use stored json files instead of calling Github API from the beginning.