Debate

Cron Job (Zamanlanmış Görev) İçin Python Kullanımı: Redis ile Önbellek (Cache) Yönetimi ve Veri Çekme (Web Scraping)

Iniciado por Cadaloz · 26 ago 2026 20:22 · 3 Visitas · 0 Respuestas
Autor del tema #0
Zamanlanmış görevler, belirli aralıklarla otomatik olarak çalışan işlemlerdir ve genellikle sistem yönetimi, veri güncelleme veya tekrarlayan görevler için kullanılır. Python, bu tür görevleri gerçekleştirmek için güçlü bir dil olup, Redis gibi bir önbellek sistemi ile birlikte kullanıldığında oldukça verimli hale gelir. Bu yazıda, Python ile nasıl bir cron job oluşturabileceğinizi ve Redis kullanarak veri çekme işlemlerini nasıl optimize edebileceğinizi inceleyeceğiz.

Öncelikle, cron job’lar Linux tabanlı sistemlerde belirli zaman dilimlerine göre otomatik olarak çalışan komut veya scriptlerdir. Python ile bir cron job oluşturmak için öncelikle bir Python scripti yazmak gerekmektedir.

Aşağıda, belirli bir web sitesinden veri çekmek için basit bir Python scripti örneği verilmiştir:

CODE
123456789101112131415161718192021222324
import requests
from bs4 import BeautifulSoup
import redis

[b]Redis bağlantısı[/b]
r = redis.Redis(host='localhost', port=6379, db=0)

[b]Veri çekme fonksiyonu[/b]
def fetch_data():
    url = 'https://example.com'
    response = requests.get(url)
    soup = BeautifulSoup(response.content, 'html.parser')
    data = soup.find_all('div', class_='data-class')  # Örneğin verilerin bulunduğu alan
    return [item.text for item in data]

[b]Önbelleğe alma fonksiyonu[/b]
def cache_data():
    data = fetch_data()
    r.set('cached_data', str(data))  # Veriyi Redis'e kaydet

[b]Ana program akışı[/b]
if [b]name[/b] == '[b]main[/b]':
    cache_data()


Bu script, belirli bir web sayfasından veri çekmekte ve veriyi Redis'e kaydetmektedir. Redis, verileri bellek üzerinde saklayarak hızlı erişim sağlar, bu da veri çekme işlemlerinin hızını artırır.

Cron job'ı oluşturmak için, terminalde crontab -e komutunu kullanarak crontab dosyasını açın ve aşağıdaki gibi bir satır ekleyin:

CODE
12
0 * * * * /usr/bin/python3 /path/to/your_script.py


Bu örnek, scriptin her saat başında çalışmasını sağlayacaktır.

Sonuç olarak, Python ile cron job oluşturmak ve Redis ile önbellek yönetimi yapmak, veri çekme işlemlerini oldukça verimli hale getirmektedir. Bu yöntemler, sistem kaynaklarını daha verimli kullanarak işlem sürelerini azaltır. Bu konuda deneyimlerinizi veya farklı yöntemleri paylaşabilirsiniz.

Debes haber iniciado sesión para responder.

0 citas seleccionadas