Merhaba, butür durumlarda atomic işlemlere yönelmek gerekiyor, bu yüzden atomik sayaç döndüren
update events set status = @inprogress, pid=@pid where status = @ready gibi bir sorgu ile işinizi çözebilirsiniz. Bu sayede işleme alınan kaç kayıt olduğunu görebilir, kayıt yoksa pas geçebilirsiniz. İşlem atomik olduğu için süreçler birbirinin olaylarını alamazlar. On Dec 31, 2015 2:47 PM, "Baskın Burak Şenbaşlar" <[email protected]> wrote: > Selamlar, > > Php ve mysql ile bi yazilim gelistirmekteyim.Yazilimda belirli zamanlarda > yapilmasi icin veritabanina eklenen event kayitlari var.Yazilim bircok > kullanici tarafindan kullanilacak.Herhangi bir kullanici sisteme herhangi > bir istek yaptiginda,istegi islemeden once databaseteki butun zamani gelmis > eventleri yapiyorum ve kayitlari siliyorum. > > Sikintim su sekilde.Eger iki kullanici es zamanli istek gonderirse > database kaydini silmeden ikinci kullanici ayni olaylari yapmak icin > kayitlari alabilir.(cok kucuk bir sure ama mumkun) Dolayisiyla ayni event > iki kere islenebilir. > > Bu durumu cozmek icin nasil bir yol izleyebilirim? > > Tek queryde zamanlari gelen eventleri cekip silmemi saglayacak bir yol var > mi?(dolayisiyla alakali tablolari/satirlari locklamis olmak icin) > Arastirdim ama bir cevaba ulasamadim. > > En kotu ihtimal hiz da kazanmak icin c++ ile zamana gore siralanmis bir > priority queue uygulamasi yapip event handlingi ona vermeyi dusunuyorum. > > Daha iyi bir yol var midir? > > Tesekkurler. > > _______________________________________________ > Linux-programlama mailing list > [email protected] > https://liste.linux.org.tr/mailman/listinfo/linux-programlama > Liste kurallari: http://liste.linux.org.tr/kurallar.php > >
_______________________________________________ Linux-programlama mailing list [email protected] https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php
