Deutsch   English   Français   Italiano  
<ugmat3$320j2$1@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: =?UTF-8?B?U3TDqXBoYW5lIFJpdmnDqHJl?= <stef@genesix.org>
Newsgroups: fr.comp.lang.ada
Subject: Question sur les tasks
Date: Tue, 17 Oct 2023 17:57:23 +0200
Organization: La Maison
Lines: 49
Message-ID: <ugmat3$320j2$1@dont-email.me>
Reply-To: stef@genesix.org
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Tue, 17 Oct 2023 15:57:23 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="1f51123f29d42c0c424e0b7418267bf8";
	logging-data="3211874"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX19HpJ7RFRNMXdFxCFkmNmcPJ1hMQkXttHU="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:gxOkrfp78EIEkafhwzdrtdLX8KY=
Content-Language: fr
Bytes: 2522

Bonjour à toutes et tous,

Je ne connais rien aux tâches Ada.

Vite fait, afin de baisser le timeout de DB MySQL (par défaut à 8 
heures, que je baisserai bien à 1h30 pour réduire les ressources des 
connexions laissées ouvertes pour rien), je 'codouille' ceci dans le 
main de l'app. utilisateur... Msg.Std ou Sql.Ping ne sont pas réentrants 
mais comme c'est de l'affichage de log ou de la pure lecture de DB, je 
ne m'en fait pas pour l'instant...

L'appel à C balaye la table des DB ouvertes et envoie un "SELECT 1" 
bidon à toutes les DB qui le nécessitent (donc pas les SQLite par exemple).

Mais au démarrage de l'applic, pour que la line B affiche le message de 
log :

TestGui.SQL_Ping > Armed for 3600s cycles

Il faut que je mette une ligne A avec un appel à delay...

J'aimerai bien comprendre le truc (et baisser mon ignorance).


---------------------------------------
    task SQL_Ping;

    task body SQL_Ping is
       Delay_Value : Duration := 3600.0;  -- Wait 1 hour between pings
    begin
A      delay 0.1; --  Mandatory to displaying the message below
B      Msg.Std ("TestGui.SQL_Ping > Armed for " &
                Trim_Left (Field_By_Index (From_Latin_1 (Duration'Image 
(Delay_Value)), 1, ".")) & "s cycles");
       while True loop
          delay Delay_Value;
          Msg.Dbg ("TestGui.SQL_Ping > Sent");
C        Sql.Ping;
       end loop;
    end SQL_Ping;

---------------------------------------

Merci d'avance (et généralement merci à la communauté, vous me faites 
bien progresser :).

-- 
Stéphane Rivière
Ile d'Oléron - France