Jak spustit script při změně dat v databázi

11 views
Skip to first unread message

Tomáš Holenda

unread,
Jun 1, 2023, 3:27:45 AM6/1/23
to Firebird (CZ)
Ahoj,

něměl by někdo nápad jak vyvolat akci, typicky odeslání E-mailu při
změně nějaké položky (třeba trigerem after update) ?

Jde mi i to abych nemusel cyklicky cronem dělat každou minutu dotaz...

Databáze je FB 2.5, na getoo linux.

Tomáš Holenda

Jiří Činčura

unread,
Jun 1, 2023, 3:47:07 AM6/1/23
to fireb...@googlegroups.com
Dival si se na events (https://firebirdsql.org/file/documentation/html/en/refdocs/fblangref50/firebird-50-language-reference.html#fblangref50-psql-postevent)? Jedina nevyhoda je, ze k tomu nejde poradne pridat nejaky payload (kde by bylo treba ID radku nebo tak neco).

--
Mgr. Jiří Činčura
https://www.tabsoverspaces.com/

Jiří Činčura

unread,
Jun 1, 2023, 4:07:55 AM6/1/23
to fireb...@googlegroups.com
To nebude fungovat. Musel by ses v aplikaci přihlásit k hromadě událostí. A API má limit 255 na jeden request, takže bys musel otevírat mraky spojení.

--
Mgr. Jiří Činčura
https://www.tabsoverspaces.com/

On Thu, Jun 1, 2023, at 10:03, Tomáš Holenda wrote:
> Super zkusím na to kouknout. A to ID dávají takto :
>
> `begin
> if (new.phone_ext <> old.phone_ext) then
> post_event 'phone_ext_changed_'||new.ID;
> end
>
> Tomáš
> `
>
> Dne 01.06.2023 v 9:47 Jiří Činčura napsal(a):
>> Dival si se na events (https://firebirdsql.org/file/documentation/html/en/refdocs/fblangref50/firebird-50-language-reference.html#fblangref50-psql-postevent)? Jedina nevyhoda je, ze k tomu nejde poradne pridat nejaky payload (kde by bylo treba ID radku nebo tak neco).
>>
> --
>
>
> Tomáš Holenda
> THSOFT s.r.o.
> Masarykovo náměstí 46 Solnice
> dat. schánka x6vgt3
> tel. 464 600 900
> fax. 465 613 297
> http://www.thsoft.cz
>
>
> TTNET s.r.o.
> http://www.ttnet.cz
> dat. schránka cc68psv
>
> JVNET.CZ s.r.o.
> http://www.jvnet.cz
> dat. schránka isqemje
>
>
> *Super rychlý internet z optiky*

Slavomir Skopalik

unread,
Jun 1, 2023, 5:22:38 AM6/1/23
to fireb...@googlegroups.com
Ahoj,

pouzivame tuto techniku:

1. Tabulku s E-maily

2. Neco jako crona, co jednou za cas odesle E-maily

Do Emailove tabulky to zapisuji jako ostatni aplikace, tak trigry.

Po odeslani se zaznam nemaze, ale jen se oznaci za odeslany, maze se az
po delsim obdobi.

"Cron" co to odesila oznaci zaznam za odeslany pouze pokud se mu podari
odeslat zpravu na SMTP (coz neni vvzdy uplne samozrejme).

Je to jednoduche funkcni (>20 let) a poskytuje i dohledatelnost toho, co
bylo odeslano.

Slavek

Ing. Slavomir Skopalik
Executive Head
Elekt Labs s.r.o.
MASA - Collection and evaluation of data from machines and laboratories
http://eng.elektlabs.com/products-and-services/masa
-----------------------------------------------------------------
Address:
Elekt Labs s.r.o.
Chaloupky 158
783 72 Velky Tynec
Czech Republic
---------------------------------------------------------------
Mobile: +420 724 207 851
skype:skopaliks
e-mail:skop...@elektlabs.com
http://www.elektlabs.com
Reply all
Reply to author
Forward
0 new messages