Salve a tutti, ho un problema, in quanto ho un cron che richiama uno script in php che importa oltre 100 file csv sul mio sito, la problematica è che questo script potrebbe andare in timeout e quindi non riesce a terminare il processo d'importazione, per risolvere questo problema, dovrei implementare un'altro cron che controlla ogni 2 minuti se il cron è in esecuzione o meno, quindi se in esecuzione non esegue alcuna operazione, mentre se non è in esecuzione riavvia lo script per procedere l'importazione dall'ultimo id importato (che ovviamente mi salvo ad ogni fine importazione).
Quindi come potrei fare per controllare se il cron è in esecuzione o meno?
Grazie
Non eseguire cron se in esecuzione
- Alien321
- Entusiasta Emergente

- Messaggi: 1390
- Iscrizione: sabato 20 maggio 2006, 20:39
- Desktop: KDE 5.16.4
- Distribuzione: KDE Neon
- Località: Venere
Re: Non eseguire cron se in esecuzione
Ma, io farei uno script in bash una cosa di questo tipo:viro [url=http://forum.ubuntu-it.org/viewtopic.php?p=4421729#p4421729][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Salve a tutti, ho un problema, in quanto ho un cron che richiama uno script in php che importa oltre 100 file csv sul mio sito, la problematica è che questo script potrebbe andare in timeout e quindi non riesce a terminare il processo d'importazione, per risolvere questo problema, dovrei implementare un'altro cron che controlla ogni 2 minuti se il cron è in esecuzione o meno, quindi se in esecuzione non esegue alcuna operazione, mentre se non è in esecuzione riavvia lo script per procedere l'importazione dall'ultimo id importato (che ovviamente mi salvo ad ogni fine importazione).
Quindi come potrei fare per controllare se il cron è in esecuzione o meno?
Grazie
- controllo se cìè un file di lock in /tmp
- se il file c'è non faccio nulla e esco
- se il file non c'è lo creo, magari dentro metto il mio pid per scrupolo
- eseguo lo script php
- cancello il file di lock in /tmp
Spoiler
Mostra
Finalmente è finito carnevale, anche se vedo ancora gente in maschera
-
toma.luca95
- Scoppiettante Seguace

- Messaggi: 750
- Iscrizione: giovedì 25 febbraio 2010, 19:32
Re: Non eseguire cron se in esecuzione
Io ti consiglio di scrivere uno script bash che leghe riga per roga del CSV e la invia (eviti sicuramente problemi di timeout) con un file di lock che evita la possibilità che due processi vadano a sovrapporsi.
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 1 ospite