Masstransit Delay Message
-
Bize ait olmayan mail sunucuyla aynı anda yüzlerce mail atılmıyor. Limite takılıyor. Bende zamana yayarak gönderiyorum bu mailleri ama kullandığım yöntem doğru değil galiba.
ConcurrencyLimit'i 1 e çekip Consumer'a 1dk thread sleep atıyorum.
Delay message için plugin vs. kurdum exchange altında delay message olarak açılıyordu ama yine bütün mailleri aynı anda gönderiyordu. Mesajlara ayrıca ttl header vs. mi ayarlamam gerekiyor?
https://masstransit-project.com/releases/v7.1.8.html#delayed-message-delivery-redelivery
ilk kutudaki örneği denemiştim;
ec.UseDelayedRedelivery(r => r.Intervals(TimeSpan.FromMinutes(5), TimeSpan.FromMinutes(15), TimeSpan.FromMinutes(30))); ec.UseInMemoryOutbox();
olarak.
-
Babus direk issue ac. Framework e hakim olan kimse yoktur burda. Ama kisisel olarak neden bu frameworku tercih ettin merak ettim.
-
TeRRoR bunu yazdı
Babus direk issue ac. Framework e hakim olan kimse yoktur burda. Ama kisisel olarak neden bu frameworku tercih ettin merak ettim.
Yorumun için teşekkür ederim abi ama ben işin ırgatlık tarafındayım biraz benim önüme ne koyarlarsa onu anlayıp diğer yerleri ona uygun yapmaya çalışıyorum, saga idempotent felan bişeyler diyolarda detaylıca oturup inceleyemedim.
Rabbitmq mekanızmasına tam hakim değilim kullandıkça öğreniyorum. Şuanda çalışıyor gitsin böyle ileride büyük ihtimalle dışarıdan email servisi felan alırlarsa gerek kalmaz böyle thread sleeplere vs.
-
Hocam selamlar rabbitmq üzerinde biraz çalışmışlığım var istersen özelden numaranı at birlikte bakalım
-
Reskam bunu yazdı
Hocam selamlar rabbitmq üzerinde biraz çalışmışlığım var istersen özelden numaranı at birlikte bakalım
Çok teşekkür ederim hocam, minnettarım. Şuan böyle çalışıyor zaten. Araştırırken gördüm mevcut yönteme alternatif olarak bu delayed mesage a denk geldim gözden kaçırdığım basit bişeyse diye konu açtım. Vaktinizi almayayım.
-
hocam rabbitmq da bunu çok rahat çözümleyebilirsin https://github.com/rabbitmq/rabbitmq-delayed-message-exchange şeklinde bir plugini var büyük projelerimde kullandım baya rahat etmiştim yardıma ihtiyacın olursa seve seve yardımcı olabilirim. Basitce queue a işi gönderirken headera parametreyle exchange de ne kadar bekleyeceğini yazıyorsun o kadar süre exchange de beklemeye alıyor zamanı gelincede gönderimi sağlıyor.
-
Hocam takıldığın limit şunlardan biridir
1) Mail sunucusuna açtığın thread sayısı. bunun optimumunu bulmak kolay
2) Mail sunucusundan yönlendirilen mail sunuculardaki limitler, örneğin gmail.com un mail serverina aynı anda 5 den fazla connection atarsan sıkıntı yaşarsın.
Sen domainleri MX Resolve yapıp direk domainin mail sunucusuna atıyorsan 2. madde önemli. Öyle değilse büyük ihtimal kendi mail sunucun o optimizasyonu yapıyordur tahmin ediyorum