Giter Site home page Giter Site logo

babou's People

Contributors

drbawb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

babou's Issues

/torrents/episodes list needs to handle directory uploads of series

Right now we have series bundles which have episodes as children.
Each episode bundle is tied to a single-file .torrent which can then be downloaded.

This is fine for series that are currently running; but for archives of series we should add support to display multi-file torrents.

tl;dr: Support for printing a line-item for a series that is a multi-file torrent.

webapp background reaper

Need a goroutine that reaps database records periodically.

(For e.g: removing things such as expired sessions.)

/torrents/create redirect does not show added torrent in list

When /torrents/create renders the list of torrents: the one you just added is absent from the list.
Edit: /torrents/create doesn't show any torrents after redirect.

I feel like the torrent should be sorted to the top of the list, or highlighted, or otherwise made visually distinct for that first redirect.

Database is only opened by `-web-stack`

The web server (app/server.go) opens a global database handle.

Thus the tracker is unable to do database writes when the following CLI options are applied: -web-stack=false -track-stack=true because the database connection pool won't be open.

Proposed fixes: open the pool lazily when it is requested [by any server], or have the main babou process open the pool serially before the other server processes are spawned.

Torrent `InfoHash` is recomputed on every request.

When sending a message to the event bridge we recompute the info_hash of the torrent's Info dictionary.

The info_hash is known from the request parameters, and we know that the info_hash is valid after the cache hit or cache fill.

We should either use that info_hash OR store a trusted one along w/ the torrent model itself.

Profiling (pprof) shows that tracker/announce.go spends about 30% of its time computing the SHA1 of this dict (averaged over 20,000 requests). So this is definitely a worthwhile optimization.

Postgres 9.4 hstore supports types

hstore is used for the attributes bundles, which store metadata that is used to organize collections of related torrents.

Currently hstore only supports text which means babou is responsible for serializing its data to-and-from strings; which is both expensive and fragile.

postgres 9.4 adds support for types to hstore documents so I may require a minimum version of PostgreSQL 9.4 to leverage this.

getting started

Hi drbawb,
i'm very interested in testing your work but have zero experience with GO

I appreciate the docs you already have written but i'm wondering if you could add some 101 type commands for me to compile the source?

thanks a bunch!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.