Ben Quartz.net kullanır biz in-house kullandığınız bir iş zamanlama sistemini yükseltmek için çalışıyorum. Quartz'ın en son sürümünün kaynağına baktığımda, .NET 4.0 ile gönderilmeye başlayan çok geliştirilmiş iş parçacığı havuzu (veya System.Threading.Tasks öğesinden başka bir şey) yerine kendi iş parçacığı havuzu uygulamasını kullanmaya devam ettiğini fark ettim.Quartz.net + Görev Paralel Kütüphanesi
Kimseye başarıyla parçacığı havuzu için kendi zamanlama özellikleri ve VUK için Quartz.net kullanan bir iş zamanlama sistemi hayata geçirdi olmadığını merak olurdu. Quartz'ın iplik havuzunu TPL için değiştirmek nispeten kolay mı? Kuvars, Görevler dünyasında hala geçerli midir? Alternatif olarak, .NET 4.x iş parçacığı havuzu (çekirdek farkındalığı, yerel sıralar, gelişmiş kilitleme, vb.) Ile büyük geliştirmelerde satıldığı gibi, tipik kaba taneli arka plan işleri için yeterince iyi değil ve yeterince değer kuvars'ın iş parçacığı havuzu TPL'yi karışıma zorlama çabası? Birlikte (kullanarak veya değil) bu iki araçlarını kullanarak herhangi bir anlayışlar için şimdiden
teşekkürler.
Teşekkürler. Önsezimi onayladınız, belki de arka arkaya çalışmayı yavaş bir şekilde sürdürmek için süper turbo şarjlı bir iplik havuzuna ihtiyacınız yoktur. –
İkisini birlikte kullanarak herhangi bir potansiyel tuzak var mı? Bir örnek vermek gerekirse, tetiklendiğinde, işini veritabanından alan bir iş planlamak istiyorum ve bu iş Parallel.ForEach'te yapmak istediğim 50-100 bireysel iş parçası olabilir. Bunun havaya uçacağı durumlar var mı? – avesse
Birlikte çalışmalılar. Sadece normal kayıt ve istisna işleme rutinlerinizi yerine getirin. Program.cs'ın Main'su atınca sanki aynı şey gibi düşün. Yeniden deneme bayrağı ayarını hataya göre ayarlamayı veya yalnızca bir sonraki yürütmeyi beklemeyi düşünebilirsiniz. Bu, işinizi idempotent yapmak için iyi bir fikirdir. –