Bir iş arkadaşı ve ben, üzerinde birden fazla görüşümüz olan bir sorunla karşılaştık.
Şu anda tüm cronjobs'larımızı tuttuğumuz bir git depomuz var. Yaklaşık 20 crons var ve hepsi küçük python komut dosyaları olması ve bazı aktiviteler için gerekli olması dışında gerçekten ilgili değiller. Biz kullandığınız fabric.pydağıtmak dosyası ve bir requirements.txtdosya komut tüm gereksinimlerini yönetmek için.
Bizim meselemiz temel olarak, bu betiklerin hepsini bir git deposunda mı tutuyoruz yoksa bunları kendi havuzlarına ayırmalı mıyız? Bunları tek bir depoda tutarak bir sunucuya dağıtmak daha kolaydır. Tüm komut dosyaları için sadece bir cron dosyası kullanabiliriz.
Ancak, 20 cronjobs mantıksal olarak ilişkili olmadığı için bu yanlış geliyor. Ek olarak, requirements.txttüm komut dosyaları için bir dosya kullanırken , belirli bir komut dosyası için bağımlılıkların ne olduğunu ve bunların aynı paket sürümlerini kullanması zor.
Tüm senaryoları kendi havuzlarına ayırabiliriz, ancak bu, hatırlanması ve ele alınması gereken 20 farklı depo oluşturur. Bu senaryoların çoğu çok büyük değil ve bu çözüm aşırıya kaçmış gibi görünüyor.
İlgili bir soru, tüm cronjobs için büyük bir crontab dosyası mı yoksa her biri için ayrı bir dosya mı kullanıyoruz? Her birinin kendine ait olması durumunda, bir crontab'ın kurulumu diğer 19'un üzerine yazmaktan nasıl kaçınır? Bu aynı zamanda 20 farklı cron dosyası tarafından takip edilmesi gereken bir acı gibi görünüyor.
Kısacası, ana sorumuz ve meselemiz, hepsini tek bir depo olarak yakından paketliyor muyuz veya kendi gereksinimleriyle kendi havuzlarına ayırıyor muyuz? Txt ve fabfile.py? Muhtemelen gerçekten basit bir çözüm üzerinde de durduğumuzu düşünüyoruz. Bu sorunla başa çıkmanın daha kolay bir yolu var mı?