Sziasztok!
Van egy batch taszkom, amit sokszor egymás után meg kell hívnom,
és mindig a taszk dönti el, hogy végez-e érdemi munkát vagy sem.
(Nem lehet a hívást feltételekhez kötni.) A taszk a task prefixben
számol számol ezt-azt, aztán bizonyos esetekben nem megy tovább.
Ezt eddig úgy oldottam meg, hogy az end task condition-be betettem
a feltételeket és "before record prefix"-re tettem a feltétel
kiértékelésének helyét. Ezzel az a bajom, hogy sok, nagyméretű
táblából áll a rekordnézet, ami miatt az első rekord betöltésének
ideje kb. 0,8 mp, vagyis tömeges hívás esetén majdnem 1-1 mp-et
"fölöslegesen" várunk a taszkra, ami tetemes időveszteség.
Mit lehetne tenni? Tegyek egy exit-et a task prefix végére az end
task condition-nel? Hogyan lehetne elérni, hogy a rekordokat már
be se töltse, hanem rögtön kiszálljon, ha nem kell munkát
végeznie? Van erre valami bevált megoldásotok?
Segítségeteket előre is köszönöm!
Üdvözlettel:
Dávid
--
Azért kapta ezt az üzenetet, mert feliratkozott a Google Csoportok „Magic Support Levelezőlista” csoportjára.
Az erről a csoportról és az ahhoz kapcsolódó e-mailekről való leiratkozáshoz küldjön egy e-amailt a(z) magic-support+unsubscribe@googlegroups.com címre.
Ha üzenetet szeretne küldeni ebbe a csoportba, küldjön e-mailt a(z) magic-...@googlegroups.com címre.
A csoportot a(z) https://groups.google.com/group/magic-support címen keresheti fel.
További lehetőségekért látogasson el ide: https://groups.google.com/d/optout.
Kedves Apa, Gábor és Feri! :)
Köszönöm a válaszokat!
1. Azért nem "lehet" feltételhez kötni a hívást, mert egy teljesen önálló működést megvalósító komponens batch taszkjáról van szó, és a végrehajtás a komponens belső állapotától függ. Ezért azt gondolom, hogy nagyon sérülékennyé válna a kód, ha a komponensnek ezt a belső állapotát mind a 30-40 helyen, ahonnan kívülről hívjuk, lekérdezném és kiértékelném. Ha ugyanis változik a kiértékelési logika, akkor ezeket az "outsource"-olt kódokat kéne módosítani, amit nem szeretnék.
2. Bocs, Gábor, de ez most tényleg nem jutott eszembe! :\ Mostanában sokat C++ -ozom, és valahogy az ilyen Magic-es trükkök kezdnek kikopni az ujjamból. Mindenáron egy taszk prefix utáni kikényszerített kiszálláson járt az eszem. Több tucat taszkról van szó egyébként, amiknek a többsége már most is több mélységű, és most ezért a marhaságért még tovább tördelni őket...
Köszi, ez lesz a megoldás egyébként! Azt az 1-2-t, ami a legkritikusabb, átlapátolom, aztán a többit apránként.
Köszönöm a segítségeteket!
Nyugodt, békés napokat kívánok Nektek az év hátralévő részére!
Üdv:
Dávid