@@ -26,6 +26,7 @@ export class RunnerServer {
2626 private gracefulShutdown = false
2727 private cleaningUp = false
2828 private initialized = false
29+ private subsequentCheckAvailableErrors = 0
2930
3031 private ipcServer : IPCServer
3132
@@ -229,6 +230,7 @@ export class RunnerServer {
229230 this . checkingAvailableJobs = true
230231
231232 let hadAvailableJob = false
233+ let hadError = false
232234
233235 for ( const server of shuffle ( [ ...this . servers ] ) ) {
234236 try {
@@ -241,7 +243,7 @@ export class RunnerServer {
241243
242244 await this . tryToExecuteJobAsync ( server , job )
243245 } catch ( err ) {
244- hadAvailableJob = false
246+ hadError = true
245247
246248 const code = ( err . res ?. body as PeerTubeProblemDocument ) ?. code
247249
@@ -263,7 +265,14 @@ export class RunnerServer {
263265
264266 this . checkingAvailableJobs = false
265267
266- if ( hadAvailableJob && this . canProcessMoreJobs ( ) ) {
268+ this . subsequentCheckAvailableErrors = hadError
269+ ? this . subsequentCheckAvailableErrors + 1
270+ : 0
271+
272+ if ( this . subsequentCheckAvailableErrors >= 5 ) {
273+ // Don't retry indefinitely if we always have an error
274+ this . subsequentCheckAvailableErrors = 0
275+ } else if ( hadAvailableJob && this . canProcessMoreJobs ( ) ) {
267276 await wait ( 2500 )
268277
269278 this . checkAvailableJobs ( )
0 commit comments