X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server.ts;h=887814d4e004c7f563f4499beab0eee1e91f818e;hb=b105ea604286092b4e5fd5667f2957d113278dde;hp=3b9353e2ff8657cf721614124b2ae77bfeaf0f64;hpb=5a921e7b74910414626bfc9672b857e987e3ebed;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server.ts b/server.ts index 3b9353e2f..887814d4e 100644 --- a/server.ts +++ b/server.ts @@ -139,6 +139,7 @@ import { VideoViewsManager } from '@server/lib/views/video-views-manager' import { isTestOrDevInstance } from './server/helpers/core-utils' import { OpenTelemetryMetrics } from '@server/lib/opentelemetry/metrics' import { ApplicationModel } from '@server/models/application/application' +import { VideoChannelSyncLatestScheduler } from '@server/lib/schedulers/video-channel-sync-latest-scheduler' // ----------- Command line ----------- @@ -257,9 +258,16 @@ app.use((err, _req, res: express.Response, _next) => { if (err) { error = err.stack || err.message || err } + // Handling Sequelize error traces - const sql = err.parent ? err.parent.sql : undefined - logger.error('Error in controller.', { err: error, sql }) + const sql = err?.parent ? err.parent.sql : undefined + + // Help us to debug SequelizeConnectionAcquireTimeoutError errors + const activeRequests = err?.name === 'SequelizeConnectionAcquireTimeoutError' && typeof (process as any)._getActiveRequests !== 'function' + ? (process as any)._getActiveRequests() + : undefined + + logger.error('Error in controller.', { err: error, sql, activeRequests }) return res.fail({ status: err.status || HttpStatusCode.INTERNAL_SERVER_ERROR_500, @@ -314,6 +322,7 @@ async function startApplication () { PeerTubeVersionCheckScheduler.Instance.enable() AutoFollowIndexInstances.Instance.enable() RemoveDanglingResumableUploadsScheduler.Instance.enable() + VideoChannelSyncLatestScheduler.Instance.enable() VideoViewsBufferScheduler.Instance.enable() GeoIPUpdateScheduler.Instance.enable() OpenTelemetryMetrics.Instance.registerMetrics() @@ -342,6 +351,12 @@ async function startApplication () { ApplicationModel.updateNodeVersions() .catch(err => logger.error('Cannot update node versions.', { err })) + JobQueue.Instance.start() + .catch(err => { + logger.error('Cannot start job queue.', { err }) + process.exit(-1) + }) + logger.info('HTTP server listening on %s:%d', hostname, port) logger.info('Web server: %s', WEBSERVER.URL)