[Risolto] Problema Gambas - Postgres

Installazione, configurazione e uso di Ubuntu come server: web, ftp, mail, news, proxy, dns, ecc.

[Risolto] Problema Gambas - Postgres

Messaggioda robustelli » mercoledì 9 agosto 2017, 10:14

Salve a tutti del forum
ho creato un'applicazione con Gambas per
gestire le interruzioni del Server Dove è Installato PostgreSQL

il problema è che se provo a spegnere il server
il programma se ha una connessione Attiva (Effettuata Prima che spegnessi il server)
si blocca sulla query di controllo (non faccio altro che gestire l'errore di una semplice query)
attendendo infinitamente che il server torni su

qualcuno sa se è possibile impostare un timeout da qualche
parte
(il problema si propone in uguale maniera anche da PgAdmin3
quindi non credo sia un problema di Gambas ma di Sistema)

grazie a tutti gli utenti che si cimenteranno in un risposta
Ultima modifica di robustelli il venerdì 11 agosto 2017, 16:10, modificato 2 volte in totale.
robustelli
Prode Principiante
 
Messaggi: 41
Iscrizione: ottobre 2010

Re: Problema Gambas - Postgres

Messaggioda wilecoyote » mercoledì 9 agosto 2017, 15:27

:) Salve, dai una lettura alla wiki su Gambas Programmazione/Gambas.

Inoltre nella medesima alla voce 'Ulteriori risorse' troverai il link al Forum ufficiale di Gambas stesso, fai una ricerca anche in esso.

Al limite ti ci puoi anche iscrivere per chiedere direttamente lumi a chi è più esperto di Gambas.

:ciao: Ciao
ACER Extensa 5230E 2,2 Ghz 160 Gb HDD 1Gb Ram
ACER Extensa 5635Z 2,2 Ghz 320 Gb HDD 4 Gb Ram
Quando una Finestra chiusa incontra un Pinguino la Finestra chiusa è una Finestra aperta.
Avatar utente
wilecoyote
Rampante Reduce
Rampante Reduce
 
Messaggi: 5908
Iscrizione: agosto 2009
Località: Ceranesi - Ge
Desktop: Kubuntu Lubuntu
Distribuzione: 9.04 32bit 14.04LTS 16.04 LTS 64bit
Sesso: Maschile

Re: Problema Gambas - Postgres

Messaggioda robustelli » mercoledì 9 agosto 2017, 18:09

Proverò a scrivere anche li a chiedere ...
anche se credo che il problema non sia di Gambas... ma del "Sistema Operativo"
che non gestisce il time out

Grazie mille wilecoyote .
robustelli
Prode Principiante
 
Messaggi: 41
Iscrizione: ottobre 2010

Re: Problema Gambas - Postgres

Messaggioda robustelli » giovedì 10 agosto 2017, 17:18

dopo un po' di pingpong (tra i forum di Postgres e Gambas),
credo di essere abbastanza sicuro che il problema sia il sistema operativo

la connessione al server rimane "Stabilita" anche se stacco il cavo di rete
quindi è come se il sistema operativo non si accorga che la connessione sia caduta

c'è un modo per impostare il timeout sul client ?
robustelli
Prode Principiante
 
Messaggi: 41
Iscrizione: ottobre 2010

Re: Problema Gambas - Postgres

Messaggioda wilecoyote » giovedì 10 agosto 2017, 17:30

:) Salve, se è il server che rimane attivo ti serve l'aiuto di chi maneggia i server, segnalo per lo spostamento nella rispettiva sezione per aumentare le possibilità di trovare aiuto.

:ciao: Ciao
ACER Extensa 5230E 2,2 Ghz 160 Gb HDD 1Gb Ram
ACER Extensa 5635Z 2,2 Ghz 320 Gb HDD 4 Gb Ram
Quando una Finestra chiusa incontra un Pinguino la Finestra chiusa è una Finestra aperta.
Avatar utente
wilecoyote
Rampante Reduce
Rampante Reduce
 
Messaggi: 5908
Iscrizione: agosto 2009
Località: Ceranesi - Ge
Desktop: Kubuntu Lubuntu
Distribuzione: 9.04 32bit 14.04LTS 16.04 LTS 64bit
Sesso: Maschile

Re: Problema Gambas - Postgres

Messaggioda robustelli » giovedì 10 agosto 2017, 17:50

non è il server che rimane attivo,
(io lo spengo .. staccando la spina)
è il client che non si accorge che il server è caduto
facendo rimanere la connessione "Stabilita"

come se Ubuntu una volta effettuata la connessione la rimane li
perennemente e non ne richiede mai un "keepalive"

cosi facendo e rimanendo la connessione attiva
la libreria che uso (quella di Gambas)
rimane in attesa di una risposta
fino a che non chiudo il programma manualmente
o riavvio il client ..

quindi mi chiedevo,
non c'è un modo per far cadere la connessione
quando effettivamente dall' altra parte non c'è nessuno ??



questo è il mio netstat quando stacco il cavo di rete al client

tcp 0 44 192.168.1.105:33062 192.168.1.1:5432 ESTABLISHED

come puoi vedere .. mi da stabilita una connessione che non puo' esserlo
dato che ho staccato il cavo :muro: :muro: :muro: :muro: :muro:

idee ?
robustelli
Prode Principiante
 
Messaggi: 41
Iscrizione: ottobre 2010

Re: Problema Gambas - Postgres

Messaggioda Pike » venerdì 11 agosto 2017, 6:12

Perchè la connessione a PostGres deve sempre rimanere attiva?

Una volta che hai finito di ricevere i dati, chiudila.
Incivile e maleducato. Come certificato dalla moderazione. You have been warned
Pigroidiorazione. Non fallisce MAI. Anche a 134 giorni di distanza ha l'utilità di un cucchiaio per aprire una lattina.
Pike
Imperturbabile Insigne
Imperturbabile Insigne
 
Messaggi: 2971
Iscrizione: gennaio 2008
Desktop: xubuntu
Distribuzione: Xenial Xerus i686 (16.04.1)

Re: Problema Gambas - Postgres

Messaggioda nuzzopippo » venerdì 11 agosto 2017, 7:22

robustelli Immagine ha scritto:non è il server che rimane attivo,
(io lo spengo .. staccando la spina)
è il client che non si accorge che il server è caduto
facendo rimanere la connessione "Stabilita"


Purtroppo non ho mai utilizzato Gambas, quindi non sono in grado di dare indicazioni specifiche ma questo stralcio unito alla indicazione del primo post sul fatto che l'applicazione (in Gambas) l'hai fatta Tu mi fa pensare che non sia gestito bene il socket per la connessione dal lato "client".

Hai definito un qualche metodo per intercettare eventuali cadute di connessione (stacco del cavo p.e.) e, quindi, chiudere il socket e rilasciarne le ricorse? Non è faccenda semplice in ambito TCP/IP

Non sono "perfetto" ma di solito, personalmente, nelle mie applicazioni racchiudo ogni utilizzo della connessione a database (uso postgresql) in blocchi "try-catch-finally" per intercettare e gestire gli errori di connessione e regolarmi di conseguenza (uso java) in alcuni punti di codice controllo anche che la connessione alla base dati non sia nulla.

Suggerirei di rivedersi il codice di connessione e verificare le possibilità di intercettazzione/verifica dello stato che hai disponibili.

[Edit] Questa è un'idea alquanto campata in aria che butto li
Guardando la documentazione gambas sui socket, ad esempio, si potrebbe fare una verifica sullo status dello stesso, se non è in grado di leggere (net.CannotRead) o scrivere (Net.CannotWrite) dati si potrebbe valutare l'idea di reinizializzarlo
Avatar utente
nuzzopippo
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 999
Iscrizione: ottobre 2006

Re: Problema Gambas - Postgres

Messaggioda robustelli » venerdì 11 agosto 2017, 15:55

ciao nuzzopippo ,

anche io uso postgres,
e sotto windows si accorgeva delle cadute di rete grazie al driver odbc che mi mandava in errore la query
ed io, gestendo l' errore riuscivo a capire che il client era sconnesso dal server... rilasciando risorse e via discorrendo

passando a linux sono arrivate le noti dolenti... perchè
anche staccando il cavo di rete... per il sistema è tutto Su (se noti il netstat da connessione stabilita... anche a cavo staccato :o )...
quindi giustamente il programma non sa se sotto c'è qualche problema
e aspetta infinitamente che il server risponda...

notifico a tutti che comunque ho risolto...
usando la direttiva della libreria di gambas "timeout" settata correttamente al momento della connessione...
in verità l' avevo usata dal primo momento... ma credendo che questa fosse in Millisencodi , mi aveva portato fuori strada
leggendo meglio il wiki.. mi sono accorto che era in secondi.... quindi problema risolto

in verità, facendo così, non so se effettivamente c'è un problema di connessione con il server
o semplicemente la query ci stà mettendo troppo... ma per l'uso che devo farne va più che bene


grazie ancora a tutti ...
robustelli
Prode Principiante
 
Messaggi: 41
Iscrizione: ottobre 2010

Re: Problema Gambas - Postgres

Messaggioda robustelli » venerdì 11 agosto 2017, 16:04

Ciao Pike...
la tua è un idea che non fa una piega...
ma non sarei coperto nel caso in cui avvenga il distacco della rete
mentre sto' effettuando una routine di Lettura / Scrittura

il programma ne fa molte
e il server ... viene staccato più volte al giorno
(è una postazione mobile)

immagina lo scenario...
1. connessione OK
2. inizio a scrivere e leggere
--> il Server Viene Spento
3. Il programma si blocca e l' utente non che stà succedendo
4. smadonna... e rompe il ca.. a me :)

però ora che ho "risolto"
sto' già provvedendo a effettuare connessioni Atomiche
rallentando il processo (ogni volta che faccio una query devo aggiungere una connessione e una disconnessione in più )
ma mi tiene al sicuro da vari problemi

Ancora grazie a tutti per il supporto
robustelli
Prode Principiante
 
Messaggi: 41
Iscrizione: ottobre 2010

Re: [Risolto] Problema Gambas - Postgres

Messaggioda Pike » domenica 13 agosto 2017, 8:02

Puoi sempre aggregare le varie query. E prevedere che il tuo software, dopo aver fatto le query di add e update, controverifichi che siano andate a buon fine.
Sempre che ti interessi mantenere l'integrità della base di dati.

Però la cosa che mi lascia perplesso è: perchè mettere un database server su un laptop?
Incivile e maleducato. Come certificato dalla moderazione. You have been warned
Pigroidiorazione. Non fallisce MAI. Anche a 134 giorni di distanza ha l'utilità di un cucchiaio per aprire una lattina.
Pike
Imperturbabile Insigne
Imperturbabile Insigne
 
Messaggi: 2971
Iscrizione: gennaio 2008
Desktop: xubuntu
Distribuzione: Xenial Xerus i686 (16.04.1)


Torna a Ubuntu su server

Chi c’è in linea

Visualizzano questa sezione: 0 utenti registrati e 4 ospiti