Comments (2)
Relates to #14
I think the approach you suggest makes sense. I was pondering using a sort of snapshot system saved in the repo (I think vcr.py does that), but using a cache like you suggest is probably less maintenance.
Github's API rate limiting has a 1h window, after which it resets, so we could have a daily job, or even twice daily scheduled job that busts/primes the cache. I'm thinking of what would happen if github's API format suddenly changes in a way that breaks the tap, the less time we wait for CI to fail the better. If the scheduled job refreshes the caches and then runs the CI job on it, we'd get notified of failures quickly. In that case, we can even run all "regular" CI jobs from cache, so they would be much faster as well, which never hurts (and there's still the risk that 2-3 eager devs are pushing code multiple times within a 1h window and hit limits anyway 😉 )
from tap-github.
I was pondering using a sort of snapshot system saved in the repo (I think vcr.py does that), but using a cache like you suggest is probably less maintenance.
I agree. In the related SDK issue, we imagine a dev lifecycle where eventually (if not in the first iteration due to PII), the caches are stored in yaml within the repo. This can power CI tests (except when we intentionally ignore/refresh the cache) and gives us --demo
behavior down the road without having to require creds that connect to the source.
from tap-github.
Related Issues (20)
- Passing a username as "organizations" config value crashes the tap HOT 5
- KeyError: `commit_timestamp` HOT 5
- Field `fetched_at` in stream `extra-metrics` can be formatted as a date-time string
- Releases stream has 10,000 record limit HOT 3
- The 'pull_number' field not being populated for the 'pull_request_commits' stream HOT 5
- If a member is part of multiple teams, they will only be listed once HOT 2
- ValueError: not enough values to unpack (expected at least 1, got 0) in repository_streams HOT 1
- Incremental replication doesn't respect the current state HOT 1
- Use pre-commit.ci to lint project
- Stream `extra_metrics` fails on repos with large number of issues/PRs HOT 1
- Drop support for python 3.7 HOT 1
- Invalid SCHEMA messages are produced for deselected streams HOT 3
- Replace use of `get_next_page_token` in the tap HOT 2
- Workflow streams incorrectly claim to support incremental loading
- Hard to tell if API token is valid or not HOT 1
- Add `files` property to `CommitsStream` HOT 1
- Experiencing 401 Bad Credentials when credentials are valid
- Document `api_url_base` setting for Enterprise Server installations
- SDK Version pointing to a specific commit HOT 1
- Loader 'target-jsonl' is not known to Meltano.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tap-github.