Skip to content
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

Split feeds into individual files #18

Closed
nbastin opened this issue Jan 9, 2019 · 2 comments
Closed

Split feeds into individual files #18

nbastin opened this issue Jan 9, 2019 · 2 comments
Milestone

Comments

@nbastin
Copy link
Contributor

nbastin commented Jan 9, 2019

Putting all the feeds in one file creates a few of problems:

  • The file is completely rewritten from scratch during reload even if only a single feed is updated, causing extra wear on the type of flash devices that commonly exist on the types of machines that you might want a CLI podcast client on
  • You can't selectively load parts of the file (at least using the standard json implementation), so if you have a large number of feeds with a large number of episodes, you load up megabytes of data you're never actually going to look at in the client
@xgi
Copy link
Owner

xgi commented Jan 9, 2019

I don't thing this is unreasonable, but I would probably be more inclined to instead switch to a (serverless) database, i.e. sqlite. I thing manually handling paging (both reading and writing) may be more trouble than it's worth, personally.

@nbastin
Copy link
Contributor Author

nbastin commented Jan 10, 2019

I wasn't thinking anything more exotic than simply putting individual feeds in their own files and continuing to use the filesystem as the datastore, although there are other things you could do with at least a k/v store. I haven't really thought too much about future uses of the data that might indicate a preference as to the type of datastore.

@xgi xgi added this to the 0.5.0 milestone Mar 4, 2019
@xgi xgi closed this as completed in e58fff5 Mar 20, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants