Comments (4)
I dunno, this is a pickle. The obvious error is not being able to continue after 403. My data retrieval process just aborts.
But, what should we do about it? Sure, continue after the error. But, personally, I am not fan of losing any information. In this case the information is:
there once was an attachment, but we didn't manage to fetch it in time because it was later taken down because of a DMCA complaint
I'd prefer this to be stored in the data model. I haven't researched Timeliner's data model, something like attachment: {id: '987654321', permanentFetchFailureReason: '403 not found - Twitter or the author removed it?'}
?
Things to think about:
- there's a distinction between transient errors and "likely fetch will never work again" (like in this case)
- I guess Timeliner already supports transient errors (since re-running my retrieval always ended up fetching this errored attachment) and
- Does Timeliner mind on "force full refresh" where an attachment was managed to be fetched before (we already have a copy of that attachment stored) and now it's unavailable doing "full refresh"? Obviously it should just shrug and carry on instead of aborting.
- if we're doing "full refresh" and we have a
permanentFetchFailureReason
, should we still re-try fetching it? I guess chances are kinda slim that the likes of Twitter restore content. But then again, re-trying probably isn't expensive (if we re-try, maybe not pollute the log about errors we think are really likely to surface from re-try attempts).
from timeliner.
...if we're doing "full refresh" and we have a permanentFetchFailureReason, should we still re-try fetching it?
I concur with your conclusion that rechecking is inexpensive, and so worth trying.
from timeliner.
Ah, oops. Not something I anticipated or encountered. How do you think we should handle this?
from timeliner.
403 is usually permanent, or something has to be changed on the server to remove that error.
Perhaps Timeliner should simply continue to the next item after seeing a 403. Log the 403, but continue on, since there's nothing we can do about it. This should probably be the behavior no matter what mode it's running in.
But I also agree that simply trying once or twice more before continuing on wouldn't be a bad idea, in case it was a fluke.
from timeliner.
Related Issues (20)
- Go get install results in lz4 package error HOT 1
- can't install with install command HOT 3
- Error with go get github.com/mholt/timeliner/cmd/timeliner HOT 1
- Docker image HOT 1
- Can't add location data to items Google Photos Takeout archive HOT 2
- runtime error: invalid memory address or nil pointer dereference HOT 5
- Export to Drive HOT 1
- [help] use local oauth on remote VPS HOT 2
- Consider using modernc.org/sqlite
- Insecure login when adding Facebook account HOT 10
- Similarity to another repo: Timeline HOT 4
- Google reauth is needed after an hour HOT 6
- Change in Google Takeout format? HOT 6
- Interest in Docker image HOT 5
- Browsing Activity / History HOT 2
- Similarity to another repo: Perkeep HOT 5
- Cannot install on Windows HOT 1
- Google Photos Data Source not registered HOT 4
- Timeliner is winding down in favor of Timelinize
- Spotify play history
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 timeliner.