Commit Graph

674 Commits (32138bbd43d48b0487777184a3877ee10c496684)
 

Author SHA1 Message Date
Christopher Usher 44390173ed comments, code style and better handling of empty hours 5 years ago
Christopher Usher 003261eae4 Promethous gauges and new style coverage plots 5 years ago
Christopher Usher 46b7c7a3b6 new plotting 5 years ago
Christopher Usher 9711dbab0e changing what I mean by overlap 5 years ago
Christopher Usher 8e79ac772a started on the guages 5 years ago
Christopher Usher 92a4cf0d7b bit of a clean up 5 years ago
Christopher Usher 20a8a214d6 working! 5 years ago
Christopher Usher ac72f775c9 functional 5 years ago
Christopher Usher 223af52265 added coverage to docker-compose 5 years ago
Christopher Usher 722cbd20fa first pass at checking for holes and repeats 5 years ago
Christopher Usher 66f5a06a5c basic segment counting working 5 years ago
Christopher Usher 3618510f35 basic functionality 5 years ago
Christopher Usher 929308f3e7 started on the segment_coverage service 5 years ago
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.
5 years ago
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.
5 years ago
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.
5 years ago
Mike Lang fc791e03d4 DBManager: Don't test connection on start
This gives the individual services more freedom in how to handle
a failing connection.
5 years ago
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.
5 years ago
Mike Lang 095e391b60
Merge pull request #116 from ekimekim/mike/thrimbletrimmer-things
A lot of changes to thrimbletrimmer and related stuff
5 years ago
Mike Lang 934c640a04 thrimbletrimmer: Display edit notes below the video
In nice distracting pink so they're sure to see it.
5 years ago
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.
5 years ago
Mike Lang d03120548b thrimbletrimmer: Always respect the channel given by thrimshim 5 years ago
Mike Lang 6cfad08a26 thrimbletrimmer: Restore previously saved advanced options
and show the advanced pane if any are non-default.
5 years ago
Mike Lang 728ede61c0 thrimbletrimmer: Don't leave page after saving edits 5 years ago
Mike Lang 983e3a61c6 thrimbletrimmer: also pause on spacebar
Most video players pause on space, so we make sure it works if they try
5 years ago
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.
5 years ago
Mike Lang 7dea1f0cdb thrimbletrimmer: Fix some typos in the new error handling 5 years ago
Mike Lang da3cc24ed1 Pass a list of upload locations from thrimshim to thrimbletrimmer
with the first one being the default.
5 years ago
Mike Lang b11fe39371 thrimshim: Validate title length, non-empty title/description
and pass the title prefix / max length through to thrimbletrimmer
5 years ago
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.
5 years ago
Mike Lang b0ea790407 thrimbletrimmer: Misc cleanup 5 years ago
Mike Lang 93fc202394 thrimbletrimmer: submit button: clean up, error handling, no-auth mode 5 years ago
Mike Lang cdd286c0ee thrimbletrimmer: manual link and download buttons: cleanup, error handling, no-auth mode 5 years ago
Mike Lang b06721df07 thrimbletrimmer: Update bustime/UTC values when you switch
so if you change one it changes the other.

Also in general takes those conversions and makes them available as functions for re-use.
5 years ago
Mike Lang 91c67899ee thrimbletrimmer: Read title prefix from thrimshim and display it greyed out
This gives a visual indicator showing the editor what prefix the title will have.
It also allows us to set the correct max title length.
5 years ago
Mike Lang caa129e192 thrimbletrimmer: allow holes should be off by default 5 years ago
Mike Lang 93f812eb64 thrimbletrimmer: Fix Streams and Hours links to not leave the current page
The existing approach, at least in my browser (firefox),
was causing the page to be replaced with "[window Object]".
5 years ago
Mike Lang 15cf65c926 nginx: Nicer formatting for thrimbletrimmer part of config 5 years ago
Mike Lang 60c6145836 nginx: Fix invalid config when no services deployed
ie. for a thrimbletrimmer-only node.
5 years ago
Mike Lang e5c5eb4090
Merge pull request #115 from ekimekim/mike/config-fixes
A grab-bag of fixes that came out of the recent test on toodles
5 years ago
ekimekim 6ef27fe757 nginx: Always use relative paths
So that using non-standard ports, etc. doesn't break things
5 years ago
ekimekim 742fcc3a28 Update default worksheet list to correct typo 5 years ago
ekimekim 86f22d38d8 docker-compose: Need to tell sheet-sync to allocate ids
NOTE: This is only safe if we're only running one.

Later we should make a way to control this in config so one node has it
but others can run non-allocating sheetsyncs.
5 years ago
Mike Lang b2d3faeab2
Merge pull request #113 from ekimekim/mike/cutter/upload-errors
Refactor error handling in uploads
5 years ago
Mike Lang 596cd92644 cutter: Add more specific error handling to upload backends
For youtube, know that 4xx's are safe even if finalizing was set.

For local, make all disk errors retryable since it doesn't matter.
5 years ago
Mike Lang 736040435c Refactor error handling in uploads
Instead of handling each error condition seperately,
we raise an UploadError which includes whether it's retryable.

The advantage of this is that upload backends can also raise an UploadError
to indicate two conditions it currently cannot:
	That an error is unretryable
	That an error is retryable, even if the row was already in finalizing

Under this scheme, errors while cutting become unretryable UploadErrors,
and unhandled exceptions in uploading become retryable UploadErrors if
the row is not yet finalizing only.
5 years ago
Mike Lang e435abf72e
Merge pull request #114 from ekimekim/mike/fixes
Grab-bag of cutter fixes
5 years ago
Mike Lang 40458d9d7f local backend: Use original version of title in write_info
instead of safe version
5 years ago
Mike Lang 80d829b83b full cut: ffmpeg requires a seekable output file
Most formats like mp4 require ffmpeg to make changes at the start of the file
throughout writing.

Unfortunately, this prevents us from streaming the upload as we cut it.

Instead, we spool to a temporary file until ffmpeg exits,
then upload that all at once.
5 years ago
Christopher Usher f4cd3f546e removed comments no longer needed 5 years ago