2010-09-18 19 views
21

Google uygulama motoru (örneğin) İşteGoogle uygulama motorundaki kuyruğun 'kova boyutu' ile ne kastediliyor?

<queue> 
    <name>mail-queue</name> 
    <rate>5/m</rate> 
    <bucket-size>10</bucket-size> 
    </queue> 

olarak yapılandırmaya sahip task queues, 'kova-size' ne demek? Google uygulama motoru belgelerinde bu konuyla ilgili kapsamlı bir doküman bulamadım.

Bunu 10 olarak belirtirseniz, bir seferde 100 görev sıraya alındığında, bunların yalnızca 10 tanesi sıraya konulacak ve geri kalanlar dikkate alınmayacaktır.

cevap

32

kova boyutlu mükemmel here açıklanmıştır:

daha yüksek bir kova boyutu sıranın yürütme oranı büyük sivri sağlar, yani sıranın işleme dağınıklığından, sınırlar. Örneğin, 5/s'lik bir hız ve 10'luk bir kepçe boyutu olan bir sıra göz önünde bulundurun. Bu sıra bir süre için etkin değilse ("jeton kepçesinin" doldurulmasına izin verirse), ve 20 görev birden anılırsa Hemen 10 görev yürütmek için izin verilir. Fakat sonraki saniyede, token kovası tükendiği ve belirtilen 5/s hızında yeniden doldurulduğu için sadece 5 daha fazla görev gerçekleştirilebilecektir. Hiçbir bucket_size kuyrukta belirtilirse

, varsayılan değer 5.

100 mesajlar sıraya ise, sadece on doğrudan yürütülmektedir demektir davanızı için

ve başka 5 sonraki her dakikadır. İletilerinizi kaybetmezsiniz, ancak kova boyutunuz ve oranınız çok düşükse sıraya girer.

+0

+1 İnanılmaz! Ayrıca, 'java' görev kuyruğu dokümantasyonunun bu bilgiye sahip olmadığını ve 'python' belgelerinin buna sahip olduğunu bilmek garip! Java ve python belgelerinin benzer bir içerikte olacağı yönünde bir izlenim vardı. Ben, java'nın altındaki şeyi bulamadığım için, python'da olmayacağına dair bir varsayım yaptım! İşaret ettiğin için teşekkürler. – Gopi

+0

Aah .. java'da da buldu. Ama python kadar kapsamlı değil. http://code.google.com/intl/tr/appengine/docs/java/config/queue.html – Gopi

+0

İşte güncel bir bağlantı: https://developers.google.com/appengine/docs/ java/config/queue # Queue_Definitions – Lior

İlgili konular