timeout allegati

Aperto da c.tatananni, Giovedì - 21 Marzo 2013 - 11:29

0 Utenti e 1 Visitatore stanno visualizzando questa discussione.

c.tatananni

Ciao a tutti,

vi espongo oggi il mio problema.

Ho installato già da qualche anno SMF su Aruba Hosting Linux (www.busbusnet.com), funzionava tutto perfettamente fino a quando la cartella allegati è diventata troppo "sostanziosa". Attualmente la cartella più piena delle "N" cartelle ha all'interno 15998 file per un totale di 2,5GB di spazio su disco.

Ho iniziato ad utilizzare quindi le cartelle multiple ma il cms mi si blocca letteralmente, va in timeout per via dei troppi files.

Per ora ho disabilitato gli allegati per non peggiorare la situazione, aspettando di trovare una soluzione.

Se divido gli allegati in più cartelle perdo poi i puntamenti ai vari posts. Conoscete una MOD per velocizzare la lettura dei files o per by-passarla?

Grazie a chiunque mi aiuterà
Claudio Tatananni

emanuele

mmm...solitamente se imposti una directory nuova il problema scompare (anche sm.org ha avuto questo stesso problema qualche tempo fa).
Quella che conta per la velocità di post è la "directory corrente", quella attiva, quella in cui i file finiscono.
Le altre sono irrilevanti.
Sicuro che i file non siano caricati nella directory sbagliata?

Il problema è stato by-passato in 2.1 spostando il check della directory (alla ricerca di file temporanei da eliminare) dal post ad uno "scheduled taks", ma ci sono alcuni cambi da fare, ed al momento non ricordo più dov'è il commit relativo...

L'unica alternativa "pratica" che mi viene in mente è un mio mod: http://custom.simplemachines.org/mods/index.php?mod=2851
L'ho impostato come "non supportato" perché non ho intenzione di svilupparlo oltre dato che è stato integrato in 2.1. Per quanto mi ricordi funziona, potrebbe avere un undefined index da qualche parte (ma non ricordo più se il problema era su quello già caricato on-line, oppure in qualche parte che stavo sviluppando) e/o un qualche warning con alcune configurazioni di server, ma in entrambi i casi non dovrebbero compromettere il funzionamento.

Alex

confermo che il proplema riportato all'apertura del topic è dovuto alla cartella degli allegati che diventa "troppo piena".
Mi sono ritrovato nella stessa situazione di c.tatananni col medesimo hosting nella medesima configurazione; la soluzione è stata proprio quella proposta da Emanuele con la plugin "automanage attachments".
L'installazione della plugin mi sembra che non filò del tutto liscia ma ci fu qualche lieve intervento da fare (forse era semplicemente di traduzione), ad ogni modo una volta resa operativa questa plugin, non si sono più manifestati i problemi di timeout sul caricamento di allegati.

OT - non sapevo che la plugin fosse stata fatta da te Emanuele, è stata una di quelle "importanti e risolutive" per il mio forum. Ti ringrazio oggi per allora  ;)

emanuele

eheheh
Tra l'altro è stato uno dei primi che ho scritto (ed un po' si vede LOL), venivo da WP e mi pareva strano che uno script come SMF non avesse una simile, basilare (pensavo ai tempi) funzione.
Di niente!

Filippo

Noi abbaimo risolto questo problema con un metodo da monaci amanuensi: scaricati una gran quantità di allegati e rimessi su come link ad una cartella sullo spazio web. Una faticaccia :'(

c.tatananni

Allora, il plugin di emanuele l'ho installato ma ho il problema dell'attachmentUploadDir...

da quello che ho capito il valore iniziale "a:XX" corrisponde all'attuale cartella di caricamento, giusto? come vedete l'ultima cartella ha come valore "29" invece a me rimane su "21", ogni giorno dovrebbe creare una nuova cartella, questo succede ma l'indice sballa... se tocco manualmente queste impostazioni succede un casino...


a:21:{i:1;s:77:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/attach-2012-03";i:10;s:77:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/attach-2012-04";i:11;s:77:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/attach-2012-05";i:12;s:70:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2012/07";i:13;s:73:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2013/03/22";i:14;s:73:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2012/07/08";i:15;s:77:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/attach-2011-12";i:16;s:77:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/attach-2011-11";i:17;s:77:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/attach-2011-09";i:18;s:77:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/attach-2011-08";i:19;s:74:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/attach-2010";i:20;s:77:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/attach-2012-06";i:21;s:73:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2013/03/21";i:22;s:73:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2013/03/25";i:23;s:73:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2013/03/02";i:24;s:73:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2013/03/03";i:25;s:73:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2013/03/04";i:26;s:73:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2013/03/05";i:27;s:73:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2013/03/06";i:28;s:73:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2013/03/07";i:29;s:74:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2013/03/22a";}


Le cartelle che mi mandano in timeout sono quelle del 2010, se le rinomino posso aprire le impostazioni dal pannello admin di SMF senza timeout
Claudio Tatananni

c.tatananni

Ho provveduto con una soluzione provvisoria.

Ho spostato i vecchi allegati in una cartella chiamata "old".
Quando dovrò operare dal pannello di controllo di SMF per creare manualmente nuove cartelle rinominerò la cartella in"_old", mi darà errore di cartella non trovata ma non avrò problemi di timeout.

La situazione è un pò spiacevole cazzarola ;D
Claudio Tatananni

emanuele

Quel che già esiste non viene modificato.
Guarda che se rinomini la directory degli allegati non saranno più accessibili...

Citazione di: c.tatananni il Lunedì - 25 Marzo 2013 - 12:21
da quello che ho capito il valore iniziale "a:XX" corrisponde all'attuale cartella di caricamento, giusto? come vedete l'ultima cartella ha come valore "29" invece a me rimane su "21", ogni giorno dovrebbe creare una nuova cartella, questo succede ma l'indice sballa... se tocco manualmente queste impostazioni succede un casino...
mmm...probabilmente viene creata ed aggiornata solo se vengono caricati allegati in quel determinato giorno. Non so se questo è il tuo caso.

giuliano

approfitto di questa discussione per una domanda:

nel mio forum abbiamo la necessità di caricare sovente allegati (tabelle, anagrafiche, documenti) per renderli disponibili agli utenti.

ovviamente i documenti caricati più vecchi appesantiscono inutilmente il forum (così ho capito).
come posso eliminare questi allegati in modo "selettivo"? Per data? per tipo? per anzianità?

Grazie

emanuele

Beh, configurando directory multiple l'appesantimento risulta mooooooooooooolto ridotto (in pratica inesistente).
Se li vuoi cancellare: admin > forum > allegati > manutenzione file ;)

Filippo

Salve, siamo passati alla 2.0 anche perchè la nostra cartella allegati era diventata nuovamente elfantiaca. Quindi la prima cosa che ho cercato di fare è stata di rendere le cartelle multiple per gli allegati.

Problema: clicco su
Cartella Allegati
"Imposta cartelle multiple per gli allegati"

E dopo un pò mi trovo:

CitazioneGateway Time-out

The gateway did not receive a timely response from the upstream server or application.

Quindi non riesco ad impostare le cartelle multiple.

C'è un modo per bypassare il problema? allungare il tempo di attesa prima del tim-out oppure andare a metetere queste impostazioni direttamente nel db?

emanuele

Intendi nel panello di admin? O_o

Filippo

Si, dal pannelo di admin, non riesco ad impostare le cartelle multiple degtli allegati in quanto mi da l'errore di timeout. Quindi pensavo di operare direttamente sul db, se possibile

emanuele

azz... questo è un po' un casino...
Farlo da db devi stare piuttosto attento, perché questa è una di quelle opzioni un po' carogna per almeno un paio di motivi:
1) è un array serializzato,
2) devi impostare due variabili.

Vediamo un po', proviamo così.

<?php
require_once('SSI.php');
require_once(
$sourcedir '/ManageAttachments.php');

if (empty(
$modSettings['currentAttachmentUploadDir']))
{
$dirs = array(
=> $modSettings['attachmentUploadDir']
);
$modSettings['currentAttachmentUploadDir'] = 1;
}
else
$dirs unserialize($modSettings['attachmentUploadDir']);

if (isset(
$_POST['new_dir']))
{
$dirs[] = $_POST['new_dir'];
$last_index array_search($_POST['new_dir'], $dirs);
updateSettings(array(
'attachmentUploadDir' => serialize($dirs),
'currentAttachmentUploadDir' => $last_index,
));
}

echo 
'Directory correnti: <br />';
foreach (
$dirs as $id => $dir)
echo $dir '<br />';

echo 
'<br /><br />
<form method="post" action="' 
$_SERVER['PHP_SELF'] . '">
Aggiungi nuova: <input type="text" name="new_dir"/><br />
<input type="submit" value="salva ed imposta come attiva" />
</form>'
;


Metti il tutto in un file, caricalo nella directory di SMF e puntaci il browser.
Dovrebbe presentarti la lista di directory esistenti ed un box per inserirne una nuova.

Attenzione: non fa alcun controllo, quindi quello che gli metti, giusto o sbagliato, viene accettato!

Filippo

Un paio di domande prima di provare:
Lo script ti dice quale è la cartella (o quali cartelle) allegati attiva al momento e poi te ne imposta una in base a quello che scrivi nel form che ti compare (da quello che capisco).

In che forma devo scrivere la cartella? devo prima crearla o basta che digito un nome ed essa vinen creata? devo scrivere il nome della cartella o l'intero percorso?

Discussioni simili (3)