aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/lib/job-queue
Commit message (Collapse)AuthorAgeFilesLines
* Migrate server to ESMChocobozzz2023-08-1125-2772/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sorry for the very big commit that may lead to git log issues and merge conflicts, but it's a major step forward: * Server can be faster at startup because imports() are async and we can easily lazy import big modules * Angular doesn't seem to support ES import (with .js extension), so we had to correctly organize peertube into a monorepo: * Use yarn workspace feature * Use typescript reference projects for dependencies * Shared projects have been moved into "packages", each one is now a node module (with a dedicated package.json/tsconfig.json) * server/tools have been moved into apps/ and is now a dedicated app bundled and published on NPM so users don't have to build peertube cli tools manually * server/tests have been moved into packages/ so we don't compile them every time we want to run the server * Use isolatedModule option: * Had to move from const enum to const (https://www.typescriptlang.org/docs/handbook/enums.html#objects-vs-enums) * Had to explictely specify "type" imports when used in decorators * Prefer tsx (that uses esbuild under the hood) instead of ts-node to load typescript files (tests with mocha or scripts): * To reduce test complexity as esbuild doesn't support decorator metadata, we only test server files that do not import server models * We still build tests files into js files for a faster CI * Remove unmaintained peertube CLI import script * Removed some barrels to speed up execution (less imports)
* Remove deprecated schedulerChocobozzz2023-07-281-1/+1
|
* Add an option to sign federated fetches for mastodon compatibility (#5898)mira.bat2023-07-273-4/+5
| | | | | | | | | | | | | | | | | | * Fix player error modal Not hidden when we change the video * Correctly dispose player components * Sign cross-server fetch requests for mastodon AUTHORIZED_FETCH compatibilty * Add a remote fetch sign configuration knob * Federated fetches refactoring --------- Co-authored-by: Chocobozzz <me@florianbigard.com> Co-authored-by: ira <ira@foxgirl.space>
* Fix lintChocobozzz2023-07-261-3/+0
|
* Fix fk error when generating storyboardChocobozzz2023-07-261-15/+32
|
* Remove unused paramChocobozzz2023-07-251-1/+1
|
* Implement replace file in server sideChocobozzz2023-07-211-18/+2
|
* Prefer web videos in favour of webtorrentChocobozzz2023-07-114-26/+26
|
* Support lazy download thumbnailsChocobozzz2023-06-292-6/+6
|
* Lock video files when generating storyboardChocobozzz2023-06-291-56/+62
|
* Add script to generate storyboardsChocobozzz2023-06-291-0/+5
|
* Add storyboard supportChocobozzz2023-06-294-5/+173
|
* Fix broken replay with long live video nameChocobozzz2023-06-291-1/+8
|
* Fix transcoding errorChocobozzz2023-05-301-8/+8
| | | | When transcoding.always_transcode_original_resolution is false
* Reload the video after waiting for the files lockChocobozzz2023-05-093-2/+7
|
* Prefer video studio instead of video editionChocobozzz2023-05-091-3/+3
| | | | Clearer and easier to find in the project
* Support studio transcoding in peertube runnerChocobozzz2023-05-091-67/+12
|
* Add TMP persistent directoryChocobozzz2023-05-091-40/+50
| | | | To store files that must be preserved between peertube restarts
* Enable external plugins to test the PRChocobozzz2023-05-091-1/+6
|
* Fix import video file lockChocobozzz2023-05-093-5/+7
|
* Fix next video state after optimize/audio mergeChocobozzz2023-05-092-12/+17
|
* Implement remote runner jobs in serverChocobozzz2023-05-097-315/+169
| | | | Move ffmpeg functions to @shared
* Feature/Add replay privacy (#5692)Wicklow2023-03-311-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | * Add replay settings feature * Fix replay settings behaviour * Fix tests * Fix tests * Fix tests * Update openapi doc and fix tests * Add tests and fix code * Models correction * Add migration and update controller and middleware * Add check params tests * Fix video live middleware * Updated code based on review comments
* Update bullmqChocobozzz2023-02-161-32/+4
| | | | Requires redis >= 6.2
* Reencode the video on cutChocobozzz2023-02-141-1/+4
| | | | | Unfortunately copying audio/video is not precise enough and could lead to inconsistencies
* Fix lintChocobozzz2023-01-091-1/+1
|
* Increase old jobs to delete per hourChocobozzz2022-11-281-2/+2
|
* Delete completed/failed jobs directly from bullmqChocobozzz2022-11-231-7/+39
|
* Merge branch 'release/4.3.0' into developChocobozzz2022-11-161-2/+2
|\
| * Fix broadcasting in parallel viewsChocobozzz2022-11-161-2/+2
| |
* | Fix server lintChocobozzz2022-11-152-2/+2
| |
* | refactor(server): redis > ioredis (#5371)kontrollanten2022-11-141-15/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * refactor(server): redis > ioredis * refactor(JobQueue): reuse redis connection builder * fix(redisio) * fix(redis): setValue * feat(redis): showFriendlyErrorStack * feat(redis): auto pipelining https://github.com/luin/ioredis/blob/308017a6b9429c16b074e03e70f5524499476fa9/README.md#autopipelining * dont use autopipelining for bullmq * ioredis events
* | Fix infinite playlist importChocobozzz2022-11-141-1/+2
| | | | | | | | Using an hard videos limit in config
* | Fix running again transcoding on a video only fileChocobozzz2022-11-071-4/+1
| |
* | Fix preview generation for importsChocobozzz2022-10-311-1/+1
| |
* | Fix transcoding failure when importing a videoChocobozzz2022-10-311-96/+130
| |
* | Lock files to generate torrents/move filesChocobozzz2022-10-252-10/+31
| |
* | Put private videos under a specific subdirectoryChocobozzz2022-10-244-50/+75
| |
* | Prevent error logChocobozzz2022-10-041-2/+2
| |
* | Live supports object storageChocobozzz2022-10-042-17/+16
| | | | | | | | | | | | | | | | * Sync live files (segments, master playlist, resolution playlist, segment sha file) into object storage * Automatically delete them when the live ends * Segment sha file is now a file on disk, and not stored in memory anymore
* | Handle sync failure in synchronizeChannel fnChocobozzz2022-09-271-14/+8
|/
* Fix sync import of latest videosChocobozzz2022-09-161-1/+3
|
* Prevent job queue to be started before pluginsChocobozzz2022-09-141-10/+27
|
* Fix saved live master playlist bandwidthChocobozzz2022-09-091-12/+2
|
* Use worker thread to send HTTP requestsChocobozzz2022-09-082-28/+32
| | | | Compute HTTP signature could be CPU intensive
* Don't crash on redis connection errorChocobozzz2022-08-111-7/+17
|
* Add ability to list imports of a channel syncChocobozzz2022-08-101-5/+15
|
* Channel sync (#5135)Florent2022-08-104-9/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add external channel URL for channel update / creation (#754) * Disallow synchronisation if user has no video quota (#754) * More constraints serverside (#754) * Disable sync if server configuration does not allow HTTP import (#754) * Working version synchronizing videos with a job (#754) TODO: refactoring, too much code duplication * More logs and try/catch (#754) * Fix eslint error (#754) * WIP: support synchronization time change (#754) * New frontend #754 * WIP: Create sync front (#754) * Enhance UI, sync creation form (#754) * Warning message when HTTP upload is disallowed * More consistent names (#754) * Binding Front with API (#754) * Add a /me API (#754) * Improve list UI (#754) * Implement creation and deletion routes (#754) * Lint (#754) * Lint again (#754) * WIP: UI for triggering import existing videos (#754) * Implement jobs for syncing and importing channels * Don't sync videos before sync creation + avoid concurrency issue (#754) * Cleanup (#754) * Cleanup: OpenAPI + API rework (#754) * Remove dead code (#754) * Eslint (#754) * Revert the mess with whitespaces in constants.ts (#754) * Some fixes after rebase (#754) * Several fixes after PR remarks (#754) * Front + API: Rename video-channels-sync to video-channel-syncs (#754) * Allow enabling channel sync through UI (#754) * getChannelInfo (#754) * Minor fixes: openapi + model + sql (#754) * Simplified API validators (#754) * Rename MChannelSync to MChannelSyncChannel (#754) * Add command for VideoChannelSync (#754) * Use synchronization.enabled config (#754) * Check parameters test + some fixes (#754) * Fix conflict mistake (#754) * Restrict access to video channel sync list API (#754) * Start adding unit test for synchronization (#754) * Continue testing (#754) * Tests finished + convertion of job to scheduler (#754) * Add lastSyncAt field (#754) * Fix externalRemoteUrl sort + creation date not well formatted (#754) * Small fix (#754) * Factorize addYoutubeDLImport and buildVideo (#754) * Check duplicates on channel not on users (#754) * factorize thumbnail generation (#754) * Fetch error should return status 400 (#754) * Separate video-channel-import and video-channel-sync-latest (#754) * Bump DB migration version after rebase (#754) * Prettier states in UI table (#754) * Add DefaultScope in VideoChannelSyncModel (#754) * Fix audit logs (#754) * Ensure user can upload when importing channel + minor fixes (#754) * Mark synchronization as failed on exception + typos (#754) * Change REST API for importing videos into channel (#754) * Add option for fully synchronize a chnanel (#754) * Return a whole sync object on creation to avoid tricks in Front (#754) * Various remarks (#754) * Single quotes by default (#754) * Rename synchronization to video_channel_synchronization * Add check.latest_videos_count and max_per_user options (#754) * Better channel rendering in list #754 * Allow sorting with channel name and state (#754) * Add missing tests for channel imports (#754) * Prefer using a parent job for channel sync * Styling * Client styling Co-authored-by: Chocobozzz <me@florianbigard.com>
* Prevent job failure on concurrent HLS transcodingChocobozzz2022-08-092-6/+2
|
* Fix job queue testsChocobozzz2022-08-091-16/+31
|