## Descrizione Tutti i processi di conservazione sono gestiti attraverso l'esecuzione di Job asincroni in background. I Jobs vengono rilasciati su 2 differenti queue di esecuzione: - preservation (Recupero dei documenti e Schedulazione invio) - preservation-item (Invio singolo documento e Verifica stato PDV) ## Configurazione 1. Per l'esecuzione dei processi deve essere installato il demone [Supervisor.d](http://supervisord.org/) 2. All'interno della cartella `/etc/supervisord.d` è necessario configurare i processi per l'esecuzione delle code di elaborazione. Ogni coda avrà un suo processo definito in un file `.ini` 3. Al termine di ogni pipeline, se sono stati modificati i file di esecuzione e gestione dei Job sarà necessario inviare un comando di restart `php artisan queue queue:restart` affinchè le modifiche siano rese effettive. ## Esempio di configurazione Per la configurazione della coda "preservation": ``` [program:ttgre-beta-preservation] process_name=%(program_name)s_%(process_num)02d directory=/var/www/studioamica/b/beta.tuttogarepcp.it/cmds command=/usr/bin/php ./artisan queue:work --queue="preservation" autostart=true autorestart=true stopasgroup=true killasgroup=true user=beta.tuttogarepcp.it numprocs=1 redirect_stderr=true stdout_logfile=/var/www/studioamica/b/beta.tuttogarepcp.it/cmds/storage/app/workers/ttgre-worker.log ``` Per la configurazione della coda "preservation-item": ``` [program:ttgre-beta-preservation-item] process_name=%(program_name)s_%(process_num)02d directory=/var/www/studioamica/b/beta.tuttogarepcp.it/cmds command=/usr/bin/php ./artisan queue:work --queue="preservation-item" autostart=true autorestart=true stopasgroup=true killasgroup=true user=beta.tuttogarepcp.it numprocs=4 redirect_stderr=true stdout_logfile=/var/www/studioamica/b/beta.tuttogarepcp.it/cmds/storage/app/workers/ttgre-worker.log ``` Nella configurazione proposta, il Supervisor gestirà 1 singolo processo per la coda "preservation" e 4 processi per la coda "preservation-item". Per ricaricare la configurazione è sempre necessario eseguire il comendo `systemctl restart supervisord`. _N.B.: Attenzione!! Ogni variazione (incremento) del numero di processi potrebbe avere un grave impatto sulle performance della macchina. Verificare sempre le risorse disponibili prima di un upgrade! _