Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upAdd checkpoint feature to find_inactive_members.rb #268
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 = { | |||
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
asendia
Apr 20, 2020
•
Author
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 |
asendia commentedNov 9, 2019
Script
find_inactive_members.rbsometimes breaks while parsing large organization either caused by timeout or connection error.Checkpoint flag
--checkpointhelps 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.