Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Gestione connessione al database
 
braindataweb
Jr. Member
 
Total Posts:  13
Joined:  2012-02-08
 

Come da oggetto, vorrei sapere se esiste un modo per poter gestire \"manualmente\" la connessione al DB creata automaticamente da Magento.

Il mio quesito sorge dal seguente problema: ho realizzato un modulo che si occupa di recuperare dati da varie fonti on-line per poi elaborarli e creare articoli all\’interno di Magento.
Il modulo è quindi diviso in due macro-sezioni: recupero ed analisi dati, creazione prodotti in Magento.
Purtroppo la prima fase può durare molto tempo (attualmente circa 20/25 secondi) e tale durata potrebbe aumentare nel tempo con l\’aumentare dei dati da analizzare; ciò causa inattività della connessione verso il DB che dopo 20secondi viene chiusa dal DBMS.

Una soluzione potrebbe essere aumentare il tempo massimo di sleep impostato in MySQL ma non la ritengo una soluzione tecnicamente ottimale e nemmeno lungimirante dato che non posso prevedere il tempo di esecuzione impiegato in futuro dal modulo.
Tramite un controllo delle connessioni di MySQL ho notato che Magento stabilisce la connessione al DB ancor prima che il modulo custom venga eseguito; vorrei quindi cercare di chiudere la connessione stabilita automaticamente da Magento per poi riaprirla quando necessario.
Grazie in anticipo!

 
Magento Community Magento Community
Magento Community
Magento Community
 
giggi91
Sr. Member
 
Total Posts:  227
Joined:  2012-02-09
 

Ciao,
Anche aumentando il tempo di sleep del Database andresti comunque incontro al timeout del server nel caso lo script duri più di 30 secondi.
Se invece sei su server dedicato ti basta impostare il max_execution_time nel php.ini e addio problemi.
ad ogni modo puoi aprire una connessione al database tramite php ad esempio creando un file db_config.php contenente qualcosa del tipo:

<?php
 
$db_host
="localhost";
$db_name="dbname";
$username="user";
$password="pass";
 
?>

Richiamabile quando vuoi attraverso il metodo Include.
Spero di esserti stato utile, buon lavoro smile

 
Magento Community Magento Community
Magento Community
Magento Community
 
braindataweb
Jr. Member
 
Total Posts:  13
Joined:  2012-02-08
 

Ciao giggi e grazie per la risposta smile
Per ciò che riguarda il max_execution_time non ho particolari problemi, mentre MySQL si trova su un altro server dove non posso gestire la configurazione a mio piacimento.
Non esiste un modo per gestire la connessione al DB tramite le API di Magento?
Detto in parole povere: non esiste qualche oggetto in Magento che metta a disposizione due metodi diretti del tipo disconnect() e connect() relativi alla connessione con il DB? smile
Thx

 
Magento Community Magento Community
Magento Community
Magento Community
 
giggi91
Sr. Member
 
Total Posts:  227
Joined:  2012-02-09
 
braindataweb - 26 August 2013 09:32 PM

Ciao giggi e grazie per la risposta smile
Per ciò che riguarda il max_execution_time non ho particolari problemi, mentre MySQL si trova su un altro server dove non posso gestire la configurazione a mio piacimento.
Non esiste un modo per gestire la connessione al DB tramite le API di Magento?
Detto in parole povere: non esiste qualche oggetto in Magento che metta a disposizione due metodi diretti del tipo disconnect() e connect() relativi alla connessione con il DB? smile
Thx

Non credo esistano due metodi del genere all’interno di Magento.
potresti provare ad usare la funzione mysql_close

$connessione mysql_connect$host$user$password ) or die("Errore nella connessione al mysql server");
...
// Chiusura connessione
mysql_close($connessione);
 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top