SORU
21 ŞUBAT 2009, CUMARTESİ


Django - Zamanlanmış Bir İş Kurmak?

Django kullanarak bir web uygulaması üzerinde çalışıyorum, ve eğer düzenli olarak çalıştırmak için bir iş zamanlamak için bir yol olup olmadığını merak ediyorum.

Temelde ben sadece veritabanı üzerinden çalıştırmak ve bazı hesaplamalar otomatik, düzenli olarak güncellemeler/yapmak istiyorum, ama bunu yaparken herhangi bir bilgi bulmak için görünmüyor olabilir.

Herkes bunu nasıl biliyor mu?

Netleştirmek için: bunu yapmak için cron bir iş olduğunu biliyorum, ama eğer bu işlevi sağlayan Django bazı özelliği olup olmadığını merak ediyorum. İnsanlar çok config (tercihen sıfır) yapmak zorunda kalmadan bu uygulama kendilerini dağıtmak mümkün olmak istiyorum.

Aldım kabul tetikleyen bu eylemleri "geriye dönük olarak" sadece kontrol ediyorum eğer bir iş olmalıydı çalıştırmak bu yana geçen zaman bir istek gönderildiğini site, ama umut ediyorum bir şey daha temiz.

CEVAP
21 ŞUBAT 2009, CUMARTESİ


Başvurdum bir çözüm bunu yapmak için:

1) custom management command, örneğin Oluşturmak

python manage.py my_cool_command

2) gerekli zamanlarda benim komut çalıştırmak için cron (Linux üzerinde) veya at (Windows) Kullanın.

Bu ağır bir AMQP yığın yükleme gerektirmeyen basit bir çözümdür. Ancak Kereviz gibi bir şey kullanarak, diğer cevapları bahsedilen güzel avantajları var. Kereviz ile özellikle, uygulama mantığınız crontab dosyalarının içine yayılmış olmaması güzel. Cron çözümü oldukça güzel orta boy uygulama için bir küçük için çalıştığını ve hiçbir dış bağımlılıkları çok istemiyorum ancak.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • funbro1

    funbro1

    11 Aralık 2007
  • jocc talking shit

    jocc talking

    6 NİSAN 2007
  • NextKsa

    NextKsa

    7 EKİM 2009