Bu örnek, özel bir okuma kuyruğudur. Küçük bir web arayüzü bağlantıları ve notları saklar. Günlük bir iş, izin verilen kısa bir akış listesini kontrol eder ve haftalık bir görev bir okuma özeti dışa aktarır. Bu bir planlama alıştırmasıdır; bir müşterinin bu kurulumu kullandığı veya bir VPS'nin bu işleri sizin için çalıştırdığı iddiası değildir.
Hizmeti işten ayırın
Web süreci bir hizmettir: aracı açtığınızda, seçtiğiniz erişim kontrolleri altında kullanılabilir olmalıdır. Akış yenileme bir iştir: başlar, sınırlı işi işler, sonucunu kaydeder ve çıkar. Uzun uykulu sonsuz bir döngü, son yenilemenin başarılı olup olmadığını ve başka bir çalışmanın neden başladığını belirsizleştirebilir.
İlk kapsamı küçük tutun. Yalnızca kullanma izniniz olan kaynakları getirin, hız sınırlarına uyun ve kendi notlarınızı içe aktarılan akış içeriğinden bağımsız olarak koruyun. Özel bir araç, düzenlenmiş özel bir bağlantı üzerinden erişiyorsanız herkese açık bir web dinleyicisine hiç ihtiyaç duymayabilir. Herkese açık bir web uç noktası yayımlarsanız kimlik doğrulamayı uygulayın ve şunu inceleyin: DNS, ağ ve HTTPS yolu.
Eşzamanlı işi bütçeleyin
Sessiz bir kontrol paneli, işin en yüksek bellek kullanımını göstermez. Üst üste binebilecekleri sayın: işletim sistemi, web süreci, veri deposu, akış ayrıştırma ve bir dışa aktarma veya dağıtım. Her belgeyi aynı anda belleğe yüklemek, bir seferde sınırlı bir parti işlemekten farklı bir gereksinim yaratır.
Örnek olarak, bir planlama çalışma sayfasının sistem işi için 250 MiB, web aracı ve veri deposu için 200 MiB, sınırlı bir yenileme için 400 MiB ve üst üste binen bir dışa aktarma veya dağıtım için 400 MiB ayırdığını varsayalım. 1,250 MiB toplam, kararı açıklamak için uydurulmuş bir ödenektir, test edilmiş bir ayak izi değildir. Gerçek görevleri ölçün; üst üste binmeleri ve geçici dosyaları, boşta durumları kadar önemlidir.
Örnek yapılandırma şununla başlar: Seed ve 1 GB bellek ekler. Bu nedenle, aylık $8.50 USD ara toplamıyla 1 vCPU, 2 GB RAM ve 25 GB SSD belirtir. Gerçek kullanılabilir belleği çalışma sayfasıyla karşılaştırın ve daha fazla CPU gerektiğini varsaymadan önce iş parti boyutunu azaltın. kaynak uyarısı kılavuzu okumaları açıklar.
| Hizmet süresi | Kaydetmeden önce | Kaydedildi | Tek seferde öde |
|---|---|---|---|
| 1 ay | $8.50 | $0.00 (0%) | $8.50 USD |
| 3 ay | $25.50 | $0.00 (0%) | $25.50 USD |
| 6 ay | $51.00 | $14.28 (28%) | $36.72 USD |
| 12 ay | $102.00 | $51.00 (50%) | $51.00 USD |
Bu toplamlar seçilen bellek seçeneğini içerir ve ödeme sırasındakiyle aynı yinelenen indirimleri kullanır. Bu örnekte hiçbir katalog yedekleme seçeneği seçilmemiştir. Yedekleme depolamasını ve diğer dış maliyetleri ayrı bir bütçede tutun; hizmet süresi bir harcama kararıdır, aracın bakım gerektirmediği vaadi değildir.
Zamanlamayı ve kaçırılan çalışma kuralını tanımlayın
Zamanlamanın yanına amaçlanan saat dilimini yazın. Sunucu geri döndüğünde kaçırılan bir çalışmanın yakalanıp yakalanmayacağına ve geç bir sonucun hâlâ değerli olup olmadığına karar verin. Bu okuma kuyruğu için, kaçırılan her günlük yenilemeyi yeniden oynatmaktan çok tek bir güncel yenileme daha faydalı olabilir.
systemd'de bir zamanlayıcı bir hizmeti etkinleştirir. Hedef hizmet hâlâ etkinse, zamanlayıcı başka bir örnek başlatmak yerine onu çalışır durumda bırakır. Kullanan bir takvim zamanlayıcısı Persistent=true kaçırılan bir olaydan sonra yeniden etkinleştirildiğinde bir telafi tetikleyebilir; kaçırılan her aralık için ayrı bir yürütme oluşturmaz. Bakınız zamanlayıcı davranışı ve kalıcılık kuralları. zamanlanmış iş kılavuzu bu seçimleri sınırlı bir örneğe dönüştürür.
Üst üste binmeyi kontrol edin ve tekrarları güvenli hale getirin
Zamanlanmış yenilemeye ve varsa manuel yenilemeye aynı yürütme yolunu verin. Başka bir giriş noktası betiği doğrudan çalıştırabiliyorsa, ortak bir kilit bu girişimleri koordine edebilir. flock gibi bir araç, özel kilitleme ve bloklamayan hata ilkesini destekler; ilgili tüm yazıcılar işbirliği yapmalıdır ve dosya sistemi davranışı önemlidir. Bakınız kilit kılavuzu ve dosya sistemi sınırlamaları.
Meşgul bir kilit için açık bir sonuç seçin; örneğin, önceki yenileme hâlâ çalıştığı için bu yenilemenin atlandığını kaydedin. Bir operatörün bu atlamayı başarılı bir getirme sanmasına asla izin vermeyin. Ayrıca, içe aktarılan öğeleri sabit bir kaynak tanımlayıcısıyla tanımlayın; böylece bir yeniden deneme zaten saklanan işi tanıyabilir. Bir kilit eşzamanlı işi ele alır; yinelenmeye dayanıklı uygulama mantığı daha sonra tekrarlanan işi ele alır.
Dış istekleri ve yeniden deneme girişimlerini sınırlayın. Kullanılamayan bir akış, işi sonsuza kadar tutmak yerine faydalı bir hata kaydı bırakmalıdır. Bir dışa aktarma dosya üretiyorsa, yeni bir sonucu ayrı olarak hazırlayın ve yalnızca doğrulamadan sonra yayımlayın; böylece bir çalışma başarısız olduğunda kontrol paneli önceki eksiksiz dışa aktarmayı kullanmaya devam edebilir.
Faydalı bir sonuç kaydedin
Bir listedeki planlanmış zaman, yenilemenin tamamlandığının kanıtı değildir. Başlangıç ve bitiş zamanlarını, çıkış sonucunu, kaç öğenin değerlendirildiğini ve son başarılı veri zaman damgasını kaydedin. Kişisel bir araç için küçük bir durum görünümü, jetonları veya ham özel notları açığa çıkarmadan bu zaman damgasını gösterebilir.
Normal bir çalıştırmayı, kullanılamayan bir kaynağı, meşgulken ikinci bir çağrıyı ve aynı girdinin tekrarını test edin. Hem süreç sonucunu hem de saklanan sonucu kontrol edin. İşler devam ederken web hizmeti durursa, ilk ipucu kontrol listesini bir uygulama sorununu zamanlama davranışından ayırt etmek için kullanın.
Veri kurtarmayı ve temizliği ayrı tutun
Burada yeri doldurulamaz veri, kaydedilmiş kuyruk, okuma durumu ve kişisel notlardır. Aracı yeniden oluşturmak için yapılandırma, zamanlama tanımları ve sürüm tanımlayıcısı gereklidir. Günlükler araştırmaya yardımcı olur; geçici indirmeler ve değiştirilebilir dışa aktarımlar farklı saklama kurallarına sahip olabilir. Temizliği otomatikleştirmeden önce bu yolları sınıflandırın.
Günlükler ve tamamlanan dışa aktarımlar için sınırlı bir saklama politikası belirleyin, ardından silmeyi etkinleştirmeden önce büyümeyi gözlemleyin. Kalıcı verileri depolama motoruna uygun bir yöntemle yedekleyin. restic ile bir anlık görüntü ve açık bir test hedefi seçmek, geri yükleme amacını görünür kılar; varsayılan geri yüklemesi mevcut dosyaların üzerine yazabilir, bu nedenle ayrı bir boş hedef kullanın. Bkz. geri yükleme hedefi ve üzerine yazma davranışı.
Test kopyasında bilinen bir notu alın, okuma durumunu doğrulayın ve bir dışa aktarım oluşturun. Yordamı ve sonucu koruyun. geri yükleme alıştırması depo bütünlüğünün ve kullanılabilir bir uygulamanın neden ayrı kontroller olduğunu açıklar.
Yalnızca açıklayabileceğiniz şeyleri yapılandırın
Seed yapılandırıcısını açın, mevcut seçimleri gözden geçirin ve bu örnekle eşleşmesi için 1 GB RAM ekleyin. Dönemi bilinçli olarak seçin; bağlantı seçeneği sizin için uygulamaz. Sunucu için Malezya, Romanya veya İsviçre'yi seçin ve kuruluma güvenmeden önce yedekleme konumunu ve hizmet kapsamını doğrulayın.
Bir ana bilgisayar adı seçmek veya ödeme bilgilerini almak, aracı yüklemez veya işlerini zamanlamaz. Erişim sağlandıktan sonra, ilk erişim kılavuzunu izleyin ve her seferinde gözlemlenebilir bir görev oluşturun. Mevcut sonuç neden gerekli olduğunu söylediğinde karmaşıklık ekleyin.
Kullanılan belgeler
Bu sayfa için birincil referanslar. Kendi ortamınızda kurulu sürüme ilişkin belgeleri kontrol edin.