Commit Graph

741 Commits (9a1213491587f5493a632da688fff9339fb379db)
 

Author SHA1 Message Date
Christopher Usher 553b11bc84 typo in error handler
Christopher Usher 9dfffe0a62 improvements based on ekims suggestions plus delete_hours yeilds to the
rest of the backfiller
Christopher Usher 8579fcaeea check start is not None before checking whether hour is before start
Christopher Usher f8835cd253 documentation for --delete-old; check that start is not none
Christopher Usher a361249145 renamed delete_before to keep_hours
Christopher Usher be562b8448 added warnings if keeping fewer hours than backfilling
Christopher Usher 9d81569d98 Added the ability to delete old hours
Christopher Usher 28ef77b5a7 error handling changes as suggested by ekim
Christopher Usher 34e8d0a64b Handle the case where an hour directory disappears between listing the
hours and trying to list the segments in that hour. This could happen if the
backfiller is deleting old hours.
Christopher Usher 3207dd6878 Fixed temporary segments crashing segment coverage
Christopher Usher 49ccb6df86 warns when a directory does not exist or when there are no hours to make
a map from
Mike Lang eaf69fac1a
Merge pull request from ekimekim/mike/nginx/serve-segments
nginx: Serve the segments directly from the segments dir
Mike Lang 7183b25ce9
Merge pull request from ekimekim/mike/database-resilience
Changes to improve behaviour if the DB is down
Christopher Usher 3130e770c8 made while loop more pythonic
Christopher Usher a1880b2414 fixes based on ekim's suggestions
Christopher Usher bea876e0cc removed obsolete code
Christopher Usher 43e19c3c56 removed unneeded package
Christopher Usher 44390173ed comments, code style and better handling of empty hours
Christopher Usher 003261eae4 Promethous gauges and new style coverage plots
Christopher Usher 46b7c7a3b6 new plotting
Christopher Usher 9711dbab0e changing what I mean by overlap
Christopher Usher 8e79ac772a started on the guages
Christopher Usher 92a4cf0d7b bit of a clean up
Christopher Usher 20a8a214d6 working!
Christopher Usher ac72f775c9 functional
Christopher Usher 223af52265 added coverage to docker-compose
Christopher Usher 722cbd20fa first pass at checking for holes and repeats
Christopher Usher 66f5a06a5c basic segment counting working
Christopher Usher 3618510f35 basic functionality
Christopher Usher 929308f3e7 started on the segment_coverage service
Mike Lang a42e7b48f6 thrimshim: Allow degraded operation even if DB broken
Any endpoints that don't need a DB conn will still work fine.

Notably, this includes /defaults, which is needed for
thrimbletrimmer to work in a non-specific-row mode.
Mike Lang 17af1c4e89 cutter, sheetsync: Wait for DB to connect on startup
This is a nicer error than crashing in the depths of some error handler
(which is what will happen if the DB goes unavailable while they're running),
and it's a far more common case (eg. the DB is misconfigured) than having it fail
halfway through.

Neither of these services can do anything meaningful without the DB,
so crashing without it is acceptable behaviour.
Mike Lang 0e437566aa backfiller: Don't crash on DB errors
We move all connection handling into get_nodes().
This means that problems connecting won't cause further errors
and cause the application to completely crash.

In turn, this means that the behaviour if the database goes down becomes
"continue backfilling from the nodes we know about" instead of crashing.
Mike Lang fc791e03d4 DBManager: Don't test connection on start
This gives the individual services more freedom in how to handle
a failing connection.
Mike Lang 3c20a9aece nginx: Serve the segments directly from the segments dir
instead of proxying through restreamer.

This should improve performance when serving the (large) segment files,
and free up restreamer for things like generating the playlist.
Mike Lang 095e391b60
Merge pull request from ekimekim/mike/thrimbletrimmer-things
A lot of changes to thrimbletrimmer and related stuff
Mike Lang 934c640a04 thrimbletrimmer: Display edit notes below the video
In nice distracting pink so they're sure to see it.
Mike Lang f7f07a2688 Add /defaults to thrimshim, use it to populate config stuff in thrimbletrimmer
Thrimbletrimmer needs to know stuff like the bustime start time,
default channel, even if it's not looking at a specific row.
Mike Lang d03120548b thrimbletrimmer: Always respect the channel given by thrimshim
Mike Lang 6cfad08a26 thrimbletrimmer: Restore previously saved advanced options
and show the advanced pane if any are non-default.
Mike Lang 728ede61c0 thrimbletrimmer: Don't leave page after saving edits
Mike Lang 983e3a61c6 thrimbletrimmer: also pause on spacebar
Most video players pause on space, so we make sure it works if they try
Mike Lang 775799944a thrimbletrimmer: Don't hide the video player on error
It means you can't read the error, and it's more confusing.
Mike Lang 7dea1f0cdb thrimbletrimmer: Fix some typos in the new error handling
Mike Lang da3cc24ed1 Pass a list of upload locations from thrimshim to thrimbletrimmer
with the first one being the default.
Mike Lang b11fe39371 thrimshim: Validate title length, non-empty title/description
and pass the title prefix / max length through to thrimbletrimmer
Mike Lang ba746ff6e6 Add title and description header/footer in thrimshim instead of cutter
This accomplishes two things:
1. It allows thrimshim to properly validate length restrictions (not implemented yet)
2. It means that the database has a record of the values actually written for each of these rows,
instead of that information depending on how the cutter was configured at the time.
Mike Lang b0ea790407 thrimbletrimmer: Misc cleanup
Mike Lang 93fc202394 thrimbletrimmer: submit button: clean up, error handling, no-auth mode
Mike Lang cdd286c0ee thrimbletrimmer: manual link and download buttons: cleanup, error handling, no-auth mode