Visualizzazione risultati 1 fino 9 di 9

Discussione: Problema con CRON JOB TIMEOUT

  1. #1
    fantatennis non è connesso Neofita
    Data registrazione
    01-12-2023
    Messaggi
    5

    Predefinito Problema con CRON JOB TIMEOUT

    Ho da giorni un problema con uno script eseguito dal Cron Job perché, invece sporadicamente (ormai davvero quasi tutti i giorni) invece di ritornarmi l'exit, mi ritorna:

    Errore di timeout! Il cronjob potrebbe non essere stato eseguito correttamente.

    Ho messo delle echo nello script per capire cosa esegue e cosa no, ed esegue sempre comunque tutto lo script, arriva alla fine, e invece di ritornami l'exit, mi ritorna l'errore, quindi lo script viene eseguito integralmente ma va comunque in timeout.

    Io ho tre set_time_limit(180) sparsi nel file (li avevo messi per paura che invece potesse non finirei in tempo) e poi ho delle chiamate a una API esterna con parametri
    CURLOPT_MAXREDIRS => 60,
    CURLOPT_TIMEOUT => 120,

    Potrebbe risiedere qui, l'errore?

    Tra l'altro, se eseguo lo script da browser, fila tutto liscio nel giro di massimo 5 secondi e ritorna l'exit, quindi da lì funziona tutto bene. Non mi crea problemi, anche se dovessi lasciarlo così, perché comunque lo script viene eseguito e funziona, però mi piacerebbe capire il motivo dell'errore del messaggio e risolverlo, se possibile.

    Grazie!

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,188

    Predefinito

    Come mai serve tutto quel tempo? Le richieste eseguite con cron job, hanno, su AlterVista, un timeout di 5 secondi:
    Le richieste HTTP del job hanno un timeout (tempo massimo di attesa) di 5 secondi.
    Quindi è probabile che il problema sia questo, specialmente se il sito a cui fai la richiesta è lento nella risposta.

    Ciao!

  3. #3
    fantatennis non è connesso Neofita
    Data registrazione
    01-12-2023
    Messaggi
    5

    Predefinito

    No, in realtà le risposte sono quasi immediate, quel timeout è solo "di sicurezza". (Anche se posso fare solo 5 chiamate al secondo, quindi ho degli sleep). Quindi i cron di Altervista hanno 5 secondi di timeout e non è estendibile? E il fatto che il cron arriva comunque a fine script (visto che ho un controllo che mi aggiunge una stringa a un file appena prima dell'exit e quella viene scritta) come si potrebbe spiegare?

    Grazie!

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,188

    Predefinito

    Il timeout non è modificabile attualmente.
    Quindi anche quando ottieni l'errore di timeout, lo script viene eseguito interamente? Se sì, quali effetti negativi vengono evidenziati a parte la scritta "timeout"?

    Dovresti comunque cercare di eseguire il cron abbondantemente prima dei 5 secondi di esecuzione totale.

    Ciao!

  5. #5
    fantatennis non è connesso Neofita
    Data registrazione
    01-12-2023
    Messaggi
    5

    Predefinito

    Esatto, sì, ottengo il timeout anche se lo script viene eseguito interamente e tutto va a buon fine, quindi non mi causa problemi, perché fa tutto quello che deve fare comunque.

    Purtroppo non posso stare sotto i 5 secondi perché sono soggetto ai tempi di attesa di un'API esterna

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,188

    Predefinito

    Se il tutto funziona, ti direi di rimanere così. Sappi però che "sei al limite", nel senso che dopo 5 secondi lo script viene terminato.

    Ciao!

  7. #7
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,266

    Predefinito

    Citazione Originalmente inviato da fantatennis Visualizza messaggio
    Purtroppo non posso stare sotto i 5 secondi perché sono soggetto ai tempi di attesa di un'API esterna
    Detto questo, magari c'è comunque modo di rendere lo script più veloce. Se ti va ti postarne il codice, si può dare un'occhiata.

  8. #8
    fantatennis non è connesso Neofita
    Data registrazione
    01-12-2023
    Messaggi
    5

    Predefinito

    Purtroppo l'API che utilizzo ammette 5 chiamate al secondo (e per questo ho dovuto mettere delle wait), e io devo farne i più, in base alla giornata, quindi spesso anche più di 25 chiamate, che impiegheranno più di 5 secondi

  9. #9
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,266

    Predefinito

    Puoi provare a distribuire il lavoro in chiamate separate, in modo che ciascuna non superi il limite.

Tags for this Thread

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •