Bir python betiğini, her satırın bir görevi tanımladığı ve komut dizimin her çalışan örneğinin böyle bir şey yapacağı bir "görevler" tablosu kullanarak paralel hale getirmeye çalışıyorum basitleştirilmiş piton + peewee kodu: Ben aynı anda Senaryomun 2 örneklerini başladığındamariadb select + update işlemini seçilemedi atomik olarak çalıştır
with db.transaction() as txn:
result = list(Table.raw("select id from tasks where started=0 limit 1"))
if len(result) == 0:
sys.exit("nothing left to do")
my_next_task = result[0]
# mark this task as started
Table.raw("update tasks set started=1 where id=%s" % my_next_task.id)
# process my_next_task
Ancak, her ikisi de aynı görev üzerinde çalışmaya başlamak. Bu davada işlemlerin nasıl yapılacağını yanlış anladım mı?
yapabildiğini garanti eder. Teşekkürler! Çalışması gereken (başlangıçta <0 başlangıçta = 0 anlamına geldiğine inanıyorum) – user3911479
Yanlış anlaşılıyorum o zaman. Bir işlemde birçok soruyu gruplandırmamak, bunların 1 atomik işlem olarak (ya da aksi halde geri alınırken) birlikte çalışacağını garanti etmez mi? – user3911479
Yea, demek istedim = 0 – Rahul