Newsgroup: it.comp.lang.delphi
Titolo: Service & Mysql

Ciao ragazzi, ho il seguente problema.
Sto creando un servizio che scanna dei dati su Mysql. Il servizio parte in
automatico all'avvio di windows, ha una dipendenza verso mysql e
naturalmente si deve connettere a Mysql.
Il mio problema sta nel fatto che quando parte windows probabilmente in una
sua strana gerarchia fa partire prima il mio servizio(che naturalmente va in
errore perchč non trova mysql) e poi il servizio di Mysql.
La prima soluzione che mi č venuta in mente č quella di far connettere il
servizio a Mysql dopo 60 secondi che č partito. In effetti cosě funziona ma
non mi sembra una soluzione ottimale.
Qualcuno non sa come far partire prima mysql e poi il mio servizio???
Ciao e grazie.

 Qualcuno non sa come far partire prima mysql e poi il mio servizio???
A dire il vero non credo che sia possibile..
Cmq la tua soluzione non e' poi cosi' sbagliata, anche se io metterei dei
controlli in modo che se non va riprova ogni 60 (o 40) secondi (perche' il
tempo di boot di macchine diverse varia tantissimo).
Qualcosa tipo:
prova a collegarsi -> 40 secondi -> riprova -> 40 secondi -> riprova..
ecc ecc.
se non riesce in una manciata di tentativi (tipo 5) da errore e si
rassegna..
--
{MSX}  -  
http://msx.rules.it
Mantenitore delle FAQ di it.comp.lang.delphi,
reperibili qui: 
http://gpi.infomedia.it/abc/delphi/FaqDelphi.txt

Certo, la gestione dei tentativi l'avevo già pensata, i 60 secondi erano
solo un esempio.
Allora visto che l'attivazione dei servizi la gestisce così è anche inutile
forzargli una dipendenza.
Secondo me da qualche parte nei meandri dei registri ci deve essere qualcosa
che gli da un ordine all'attivazione.
Comunque ti ringrazio.
Ciao

vedi se ti puo' essere utile:
Dependencies is a container for TDependency objects.
Unit
SvcMgr
Description
TDependencies is a collection of TDependency objects, each of which
represents a dependent service or load ordering group for a service
(TService instance). TDependencies objects are the implementation of the
Dependencies property of TService.
Bye
AS

 qualcosa che gli da un ordine all'attivazione.
Correggimi se sbaglio, ma io so che MySql non è gestito come servizio ma come
applicazione.
Windows, di default, prima fa partire i servizi e poi le applicazioni.
Che poi le applicazioni le faccia partire nell'ordine che vuole lui, questo è un
altro discorso :)
--
Jax

 applicazione.
A quanto mi risulta, il server di mysql e' un servizio. Il "client" e
l'"admin" invece sono applicazioni, ma il cuore e' il server.


Rispondo a Jax:
Mysql viene gestito come  servizio, infatti se guardi nei services c'è il
servizio mysql (sempre che tu ce l'abbia installato). Comunque secondo la
tua logica quindi dovrebbe partire prima il mio servizio e poi
l'applicazione Mysql. Così non è.
Comunque grazie anche a te Jax
"Jax" <rispo...@newsgroup.grazie> wrote in message
news:nXlQ8.41799$Kt3.9...@twister2.libero.it...


 wrote in message
news:aespkp$28fp$1...@newsreader1.mclink.it...


se mi passi la tua mail ti rispondo in privato
Non mi va di creare un flame che intaserbbe il ng.
AS

 wrote in message
news:aesr68$28s9$1...@newsreader1.mclink.it...


 culo!!!!!!!!!!!
innanzitutto modera il tono perfavore. L'help è l'aiuto primario del
programmatore, prima del NG o di qualsiasi altro mezzo uno dovrebbe
consultare l'help.
Se qualcuno posta prima di farlo viene cortesemente invitato a leggerlo, se
per caso lo avesse letto senza trovare la risposta che cercava gli viene
postata direttamente sul gruppo in modo da aiutarlo.
Sinceramente non capisco cosa ci sia di male, e sinceramente capisco ancor
meno la tua reazione nei confronti di un programmatore che da tempo posta su
questo gruppo per aiutare chi è in difficoltà.
--
- Carlo -
cbertu81(at)libero(dot)it

Ok, sul discorso del tono hai perfettamente ragione.
Appunto come hai detto tu prima leggi l'help, poi se non hai trovato
risposta usi il NG. Evidentemente l'help l'ho già letto.
Perchè io mi devo vedere come risposta il copia/incolla dell'help senza
nessun commento????

 poi l'applicazione Mysql. Così non è.
Ce l'ho installato ma evidentemente ricordavo male... scusatemi!
(forse mi sono confuso con il fatto che mysql può essere avviato anche come app)
--
Jax

 nessun commento????
magari perchè chi ti risponde pensa (magari erroneamente, tutti sbagliato)
che tu non abbia letto quello spezzone postato, o che magari tu lo abbia
letto senza captarne l'importanza.
Alle volte non si ha tutto il tempo per dare una risposta articolata, si da
il "la" con un messaggio che non è nulla più di un copy/paste dell'help, ma
sempre nell'intento di dare un aiuto.
Credo che aggredire chiunque si sia interessato al tuo problema non sia la
via migliore per ringraziare.


 validi su un post non scrivere niente piuttosto.
Uhm. Che lo leggano tutti... ho qualche dubbio.
E' anche vero che Alberto *a volte* può indisporre pubblicando l'help... ma non
ci vedo niente di male, in fondo.
--
Jax

Io ho già scritto che se uno non può rispondere in modo articolato e
personale è meglio che non risponda perchè postare l'help mi sembra come
prendere in giro l'altro. Il NG serve per discutere di problematiche
personalmente.
Almeno insieme all'help potrebbe mettere una misera riga di spiegazione
visto che come hai detto tu uno potrebbe non aver compreso il significato
dell'help.
Comunque preferirei non doverne discutere con te, ma col diretto
interessato...non tramite E-mail personale.

Rispondo a Jax
Che significa il tuo messaggio????

 interessato...non tramite E-mail personale.
Sei liberissimo di farlo.


Io non metto in dubbio che si *bravissimo* a programmare e che abbia aiutato
tantissime persone, ma quello che dico è che secondo me è una presa in giro
pubblicare su un NG una cosa che tutti hanno a disposizione come l'help.
Se Alberto conosce la risposta ad un post la pubblica, altrimenti non mette
l'help.
Poi ognuno è libero di mantenere la propria opinione.

 Che significa il tuo messaggio????
Uh? Non mi pareva che avesse doppie interpretazioni... O__o
Ho solo detto (ed è palese) che non tutti leggono l'help, almeno non
attentamente come dovrebbero (altri proprio manco si sforzano), basta vedere dei
vecchi messaggi... non sto parlando di te, se è questo che hai capito.
Stiamo un po' calmi, su, che con questo caldo non conviene agitarsi :)
--
Jax

 interessato...non tramite E-mail personale.
Ok.
Come preferisci.
1) prima di tutto, mi dispiace se hai interpretato il mio post come una
presa x i fondelli
non era questa la mia intenzione.
Avevo l'help aperto x altre cose e e ho trovato quel riferimento che ho poi
inviato.
Ovviamente, io non posso essere telepatico (magari..!), quindi non sono in
grado di sapere se hai o meno letto quel particolare topic della guida.
Visto che molti, ancor prima di leggere l'help postano sul ng, ho
erroneamente supposto che tu avessi fatto lo stesso.
2) L'help ed il ng non sono le unche fonti di possibili soluzioni ai ns
problemi.
ve ne sono altre che,a questo punto, presumo ti abbia provveduto a
consultare per cercare una soluzione al tuo problema come hai visto la guida
in linea.
3) mi ha seccato sia il tono che il linguaggio della tua risposta.
Se avessi semplicemente detto "ho gia visto 'sta cosa e non mi serve" avrei
pensato
"ok! come non detto" .
Magari avrei cercato in altri posti come ho già fatto per altri in qualche
ritaglio di tempo.
Ti auguro di risolvere il tuo problema al + presto.
AS

Non era polemica, veramente, tu mi hai risposto in base a quello che pensavi
e mi sembra 100000 volte meglio che mettere l'help.
Se avessi digitato la parola "Dependencies" avrei avuto lo stesso risultato
rispetto al post di Alberto

Cosě mi piace, parliamo io e te. Sul fatto del tono hai perfettamente
ragione e ti chiedo scusa.
Quello che volevo far capire e che se una persona cerca di interpretare
l'help, vede che č inutile e poi pone un post sul NG e si vede rispondere
con l'help, secondo me si sente preso in giro.
Comunque probabilmente il mio quesito č passato in secondo piano dopo la
discussione.
Se hai qualche consiglio io li accetto volentieri.
Ciao

 Non era polemica, veramente, tu mi hai risposto in base a quello che

Caspita, ma ti rendi conto che:
1) non ti abbiamo mai letto
2) non sappiamo a che livello sei
3) sappiamo poco-niente del tuo problema
Converrai con me che, se conti questi presupposti, la pubblicazione di quello
spezzone (oltretutto non senza commento, ma con un "vedi se ti può essere utile"
e *non* con un "aho, stronzo, ma lo leggi l'help?") *poteva* esserti davvero
utile... o no???
Pensa che io manco sapevo l'esistenza delle Dependencies!
Anche lui ha risposto in base a quello che pensava, magari non le conoscevi
neanche tu, rifletti un attimo!!!
E poi, perché mi hai risposto "cosa significa il tuo messaggio?"???
Dai, smettiamola qui, per piacere...
--
Jax
PS: La prossima volta che hai qualcosa da dire, soprattutto se è -anche
vagamente- offensivo, mailala direttamente a chi vuoi. Eviteremmo tutti queste
inutili discussioni che non interessano a nessuno; è provato ormai che tanto
ognuno resta della propria idea e stop.

 Volevo solo dirti che l'help lo leggono tutti.
Scusami, ma devo proprio dirlo: All'anima della palla!!!
AS

 Scusami, ma devo proprio dirlo: All'anima della palla!!!
Dai, ormai siamo internazionali... dovevi dire "to the soul of the ball!"
che oltreutto suona anche meglio ;)))
--
Jax che tenta di sdrammatizzare... e aspetta in grazia la perturbazione

Ciao e grazie.
Se non ti fossi inopinatamente inalberato con Alberto ti saresti
accorto che la sua risposta era la tua soluzione.
La proprietà TService.Dependencies serve proprio ad indicare ad un
servizio, quali altri servizi attendere prima di venir eseguito.
Io la uso normalmente con i miei servizi che dipendono da MSSQL.
Massimo.
-- 
Ore 18.30: premo invio.

Come ho già scritto il mio servizio ha una dipendenza verso Mysql, ma questo
non cambia.

Mi sono accorto adesso che tu parli di MSSQL e io di MySql.

Ciao Alberto, ho visto il messaggio di Max Pini, ma lui parla di MSSQL.
Come ho già risposto sotto, nel mio primo messaggio avevo già detto che il
mio servizio aveva una dipendenza da MySql ma a quanto pare quando i servizi
vengono avviati non funziona.
Ecco, questo mi fa porre un nuovo quesito:
Tu sai se esiste un timer interno per cui un servizio, anche se ha
dipendenza, dopo un tot di tempo che il suo servizio principale non si
avvia, tenta di avviarsi senza "aspettarlo"??


Beh e cosa cambia?
Se MySql è *effettivamente* un servizio, inserendo il nome del
servizio MySQL nelle dipendenze del tuo servizio questo partirà solo e
unicamente quando MySQL sarà attivo.
