RE: Jeden beziaci proces
Flag se musí v db updatovat prostě jinou transakcí. Zároveň se hodí přidat timestamp atribut, do kdy je ten zámek aktivní - v praxi pak spuštěný timer může ten timestamp updatovat (prodlužovat jeho platnost, aby nedošlo k opětovnému spuštění). Podmínkou pro spuštění nového timeru je neexistující zámek, nebo vyexpirovaný (tj. ošetření případu, že server spadne a zámek existuje). Jiří Holý From: konference-boun...@java.cz [mailto:konference-boun...@java.cz] On Behalf Of Tomas Studva Sent: Monday, September 06, 2010 1:24 PM To: Java Subject: Re: Jeden beziaci proces Asi myslite explicitny DB zamok. To sa mi nezda celkom idealne, lebo taky zamok je viazany na tranzakciu a teda ta by musela byt otvorena po celu dobu. Tomuto som sa vyhol, lebo sa neda zarucit dlzka behu toho procesu, v zlom pripade to moze bezat aj 30 minut. No na druhej strane, nemam ziadne ine proti :). Moje riesenie cez flag teda stlpec v tabulke ma inu nevyhodu, ktora je ale ovela viacej bolestivejsia. Ked sa restartne server alebo vypadne elektrina pocas behu procesu, tak sa flag nezmeni na false. Dakujem, zvazim to. 2010/9/6 Kamil Podlesak kamil.podle...@gmail.commailto:kamil.podle...@gmail.com Dobrý den, Zámek v databázi má výhody: - bude fungovat i v clusteru - lze ho sledovat administračními nástroji databáze a případně i násilně zrušit Kamil Podlešák 2010/9/6 Tomas Studva tstu...@gmail.commailto:tstu...@gmail.com: Dobry den, v nasej aplikacii mame periodicky spustany proces. Tento proces je schedulovany Jbossom, a moze trvat od niekolko sekund az po niekolko minut. Spustany je asi kazde tri minuty. Potrebujem zarucit aby bezal iba 1 na celom servery. Momentalne to riesim flagom v databaze, ak je flag true, tak proces sa hned ukonci. Chcem sa spytat, ci nie je aj jednoduchsie riesenie a ako by to bolo s implementaciou. Ten zamok naozaj suvisi s datami, teda s databazou a aplikaciou. Ako druhe riesenie mi napada lockovat sa na nejakom objekte v aplikacii. Tomas Studva
Re: Jeden beziaci proces
Mysli Vam to podobne ako mne. Dakujem za vsetky prispevky. Holý Jiří wrote / napísal(a): Flag se musí v db updatovat prostě jinou transakcí. Zároveň se hodí přidat timestamp atribut, do kdy je ten zámek aktivní - v praxi pak spuštěný timer může ten timestamp updatovat (prodlužovat jeho platnost, aby nedošlo k opětovnému spuštění). Podmínkou pro spuštění „nového“ timeru je neexistující zámek, nebo vyexpirovaný (tj. ošetření případu, že server spadne a zámek existuje). Jiří Holý *From:* konference-boun...@java.cz [mailto:konference-boun...@java.cz] *On Behalf Of *Tomas Studva *Sent:* Monday, September 06, 2010 1:24 PM *To:* Java *Subject:* Re: Jeden beziaci proces Asi myslite explicitny DB zamok. To sa mi nezda celkom idealne, lebo taky zamok je viazany na tranzakciu a teda ta by musela byt otvorena po celu dobu. Tomuto som sa vyhol, lebo sa neda zarucit dlzka behu toho procesu, v zlom pripade to moze bezat aj 30 minut. No na druhej strane, nemam ziadne ine proti :). Moje riesenie cez flag teda stlpec v tabulke ma inu nevyhodu, ktora je ale ovela viacej bolestivejsia. Ked sa restartne server alebo vypadne elektrina pocas behu procesu, tak sa flag nezmeni na false. Dakujem, zvazim to. 2010/9/6 Kamil Podlesak kamil.podle...@gmail.com mailto:kamil.podle...@gmail.com Dobrý den, Zámek v databázi má výhody: - bude fungovat i v clusteru - lze ho sledovat administračními nástroji databáze a případně i násilně zrušit Kamil Podlešák 2010/9/6 Tomas Studva tstu...@gmail.com mailto:tstu...@gmail.com: Dobry den, v nasej aplikacii mame periodicky spustany proces. Tento proces je schedulovany Jbossom, a moze trvat od niekolko sekund az po niekolko minut. Spustany je asi kazde tri minuty. Potrebujem zarucit aby bezal iba 1 na celom servery. Momentalne to riesim flagom v databaze, ak je flag true, tak proces sa hned ukonci. Chcem sa spytat, ci nie je aj jednoduchsie riesenie a ako by to bolo s implementaciou. Ten zamok naozaj suvisi s datami, teda s databazou a aplikaciou. Ako druhe riesenie mi napada lockovat sa na nejakom objekte v aplikacii. Tomas Studva
Jeden beziaci proces
Dobry den, v nasej aplikacii mame periodicky spustany proces. Tento proces je schedulovany Jbossom, a moze trvat od niekolko sekund az po niekolko minut. Spustany je asi kazde tri minuty. Potrebujem zarucit aby bezal iba 1 na celom servery. Momentalne to riesim flagom v databaze, ak je flag true, tak proces sa hned ukonci. Chcem sa spytat, ci nie je aj jednoduchsie riesenie a ako by to bolo s implementaciou. Ten zamok naozaj suvisi s datami, teda s databazou a aplikaciou. Ako druhe riesenie mi napada lockovat sa na nejakom objekte v aplikacii. Tomas Studva
Re: Jeden beziaci proces
Dobrý den, Zámek v databázi má výhody: - bude fungovat i v clusteru - lze ho sledovat administračními nástroji databáze a případně i násilně zrušit Kamil Podlešák 2010/9/6 Tomas Studva tstu...@gmail.com: Dobry den, v nasej aplikacii mame periodicky spustany proces. Tento proces je schedulovany Jbossom, a moze trvat od niekolko sekund az po niekolko minut. Spustany je asi kazde tri minuty. Potrebujem zarucit aby bezal iba 1 na celom servery. Momentalne to riesim flagom v databaze, ak je flag true, tak proces sa hned ukonci. Chcem sa spytat, ci nie je aj jednoduchsie riesenie a ako by to bolo s implementaciou. Ten zamok naozaj suvisi s datami, teda s databazou a aplikaciou. Ako druhe riesenie mi napada lockovat sa na nejakom objekte v aplikacii. Tomas Studva
Re: Jeden beziaci proces
Na toto pouz(ívam Quartz - http://www.quartz-scheduler.org/. Výluc(nost( na jeden bez(iaci proces sa nastavuje v konfigurácii ako: property name=quartzProperties props prop key=org.quartz.threadPool.threadCount 1 /prop /props /property Rastislav Bedo Siekel Ing. Rastislav Siekel Prosoft s.r.o., Kuzmányho 8, 010 01 Z(ilina, Slovakia E-mail : sie...@prosoft.sk mailto:sie...@prosoft.sk Tel : 041/562 54 91 Fax : 041/562 54 97 Mobil : 0905 34 00 20 On 6. 9. 2010 11:56, Tomas Studva wrote: Dobry den, v nasej aplikacii mame periodicky spustany proces. Tento proces je schedulovany Jbossom, a moze trvat od niekolko sekund az po niekolko minut. Spustany je asi kazde tri minuty. Potrebujem zarucit aby bezal iba 1 na celom servery. Momentalne to riesim flagom v databaze, ak je flag true, tak proces sa hned ukonci. Chcem sa spytat, ci nie je aj jednoduchsie riesenie a ako by to bolo s implementaciou. Ten zamok naozaj suvisi s datami, teda s databazou a aplikaciou. Ako druhe riesenie mi napada lockovat sa na nejakom objekte v aplikacii. Tomas Studva
Fwd: Re: Jeden beziaci proces
Opravujem sa, prekopíroval som inú c(ast( konfigurácie. Správne to je: property name=concurrent value=false/ R. Original Message Subject:Re: Jeden beziaci proces Date: Mon, 06 Sep 2010 12:00:56 +0200 From: Rastislav Siekel sie...@prosoft.sk To: Java konference@java.cz Na toto pouz(ívam Quartz - http://www.quartz-scheduler.org/. Výluc(nost( na jeden bez(iaci proces sa nastavuje v konfigurácii ako: property name=quartzProperties props prop key=org.quartz.threadPool.threadCount 1 /prop /props /property Rastislav Bedo Siekel Ing. Rastislav Siekel Prosoft s.r.o., Kuzmányho 8, 010 01 Z(ilina, Slovakia E-mail : sie...@prosoft.sk mailto:sie...@prosoft.sk Tel : 041/562 54 91 Fax : 041/562 54 97 Mobil : 0905 34 00 20 On 6. 9. 2010 11:56, Tomas Studva wrote: Dobry den, v nasej aplikacii mame periodicky spustany proces. Tento proces je schedulovany Jbossom, a moze trvat od niekolko sekund az po niekolko minut. Spustany je asi kazde tri minuty. Potrebujem zarucit aby bezal iba 1 na celom servery. Momentalne to riesim flagom v databaze, ak je flag true, tak proces sa hned ukonci. Chcem sa spytat, ci nie je aj jednoduchsie riesenie a ako by to bolo s implementaciou. Ten zamok naozaj suvisi s datami, teda s databazou a aplikaciou. Ako druhe riesenie mi napada lockovat sa na nejakom objekte v aplikacii. Tomas Studva
Re: Jeden beziaci proces
Asi myslite explicitny DB zamok. To sa mi nezda celkom idealne, lebo taky zamok je viazany na tranzakciu a teda ta by musela byt otvorena po celu dobu. Tomuto som sa vyhol, lebo sa neda zarucit dlzka behu toho procesu, v zlom pripade to moze bezat aj 30 minut. No na druhej strane, nemam ziadne ine proti :). Moje riesenie cez flag teda stlpec v tabulke ma inu nevyhodu, ktora je ale ovela viacej bolestivejsia. Ked sa restartne server alebo vypadne elektrina pocas behu procesu, tak sa flag nezmeni na false. Dakujem, zvazim to. 2010/9/6 Kamil Podlesak kamil.podle...@gmail.com Dobrý den, Zámek v databázi má výhody: - bude fungovat i v clusteru - lze ho sledovat administračními nástroji databáze a případně i násilně zrušit Kamil Podlešák 2010/9/6 Tomas Studva tstu...@gmail.com: Dobry den, v nasej aplikacii mame periodicky spustany proces. Tento proces je schedulovany Jbossom, a moze trvat od niekolko sekund az po niekolko minut. Spustany je asi kazde tri minuty. Potrebujem zarucit aby bezal iba 1 na celom servery. Momentalne to riesim flagom v databaze, ak je flag true, tak proces sa hned ukonci. Chcem sa spytat, ci nie je aj jednoduchsie riesenie a ako by to bolo s implementaciou. Ten zamok naozaj suvisi s datami, teda s databazou a aplikaciou. Ako druhe riesenie mi napada lockovat sa na nejakom objekte v aplikacii. Tomas Studva
Re: Jeden beziaci proces
Jboss interne pouziva Quartz, nabuduce pouzijem priamo quartz. Teraz sa mi to neche menit a ani na to nie je cas. 2010/9/6 Rastislav Siekel sie...@prosoft.sk Na toto používam Quartz - http://www.quartz-scheduler.org/. Výlučnosť na jeden bežiaci proces sa nastavuje v konfigurácii ako: property name=quartzProperties props prop key=org.quartz.threadPool.threadCount 1 /prop /props /property Rastislav Bedo Siekel -- Ing. Rastislav Siekel Prosoft s.r.o., Kuzmányho 8, 010 01 Žilina, Slovakia E-mail : sie...@prosoft.sk sie...@prosoft.sk Tel : 041/562 54 91 Fax : 041/562 54 97 Mobil : 0905 34 00 20 On 6. 9. 2010 11:56, Tomas Studva wrote: Dobry den, v nasej aplikacii mame periodicky spustany proces. Tento proces je schedulovany Jbossom, a moze trvat od niekolko sekund az po niekolko minut. Spustany je asi kazde tri minuty. Potrebujem zarucit aby bezal iba 1 na celom servery. Momentalne to riesim flagom v databaze, ak je flag true, tak proces sa hned ukonci. Chcem sa spytat, ci nie je aj jednoduchsie riesenie a ako by to bolo s implementaciou. Ten zamok naozaj suvisi s datami, teda s databazou a aplikaciou. Ako druhe riesenie mi napada lockovat sa na nejakom objekte v aplikacii. Tomas Studva