Flask Academy · Pelajaran

Sambungkan Celery ke Kilang Aplikasi

Konfigurasikan broker dan aplikasi Celery.

Pelajaran 2 daripada 413 langkah

Sambungkan Celery ke Kilang Aplikasi ialah pelajaran Flask Academy percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Flask Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Flask Academy merangkumi sejumlah 4 pelajaran.

Tiga Komponen untuk Disambungkan

Untuk menjalankan Celery, anda memerlukan tiga perkara: URL broker, bahagian belakang hasil dan objek aplikasi Celery yang menjadi tempat tugas anda.

Pilih Broker

Redis ialah broker yang paling mudah untuk dimulakan. Anda mengarahkan Celery kepadanya menggunakan URL supaya ia tahu tempat menghantar dan mengambil kerja.

broker_url = "redis://localhost:6379/0"

Tambah Bahagian Belakang Hasil

Jika anda mahu membaca hasil tugas kemudian, tetapkan bahagian belakang hasil. Redis boleh digunakan untuk broker dan bahagian belakang dalam pembangunan.

result_backend = "redis://localhost:6379/1"

Objek Aplikasi Celery

Celery berpusat pada satu tika Celery(). Tugas didaftarkan padanya dan pekerja memuatkannya untuk mengetahui perkara yang perlu dijalankan.

from celery import Celery
celery = Celery(__name__)

Mengapa Kilang Penting

Dalam corak kilang aplikasi, konfigurasi dimuatkan dalam create_app. Celery sepatutnya mengambil URL brokernya daripada konfigurasi yang sama, bukan menetapkannya terus dalam kod.

Baca Konfigurasi daripada Flask

Simpan tetapan CELERY dalam konfigurasi Flask supaya persekitaran pembangunan, ujian dan produksi boleh berbeza. Kemudian bina Celery daripada app.config dalam kilang tersebut.

app.config["CELERY_BROKER_URL"] = "redis://localhost:6379/0"

Pembantu make_celery

Corak yang biasa digunakan ialah fungsi make_celery(app) yang membaca app.config dan mengembalikan tika Celery yang telah dikonfigurasikan.

def make_celery(app):
    c = Celery(app.import_name)
    c.conf.update(app.config)
    return c

Tugas Memerlukan Konteks Aplikasi

Tugas sering mengakses pangkalan data atau current_app, yang memerlukan konteks aplikasi. Tanpanya, panggilan tersebut gagal apabila pekerja berjalan.

Subkelas Asas Tugas

Penyelesaian klasik ialah membalut setiap tugas supaya ia membuka konteks aplikasi sebelum berjalan. Dengan itu, tugas boleh menggunakan sambungan Flask dengan selamat.

Dua Proses, Satu Konfigurasi

Proses web dan pekerja adalah berasingan, tetapi kedua-duanya membina Celery daripada konfigurasi yang sama supaya bersetuju tentang broker dan bahagian belakang.

Mulakan Pekerja

Anda menjalankan pekerja daripada baris arahan sambil menunjukkannya kepada tika Celery anda. Kemudian pekerja mendengar kerja pada broker.

celery -A app.celery worker --loglevel=info

Semakan Pantas

Tugas kerap menggunakan pangkalan data.

Imbas Kembali

Tetapkan broker dan bahagian belakang, bina Celery daripada app.config dalam create_app dan buka konteks aplikasi supaya tugas boleh menggunakan Flask. ✅

Percuma untuk bermula

Pelajari Python dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
30
Pelajaran
120

Soalan Lazim

Adakah pelajaran “Sambungkan Celery ke Kilang Aplikasi” percuma?

Ya — teks penuh “Sambungkan Celery ke Kilang Aplikasi” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Flask Academy, tingkat taraf kepada CoddyKit PRO. Kursus Flask Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Sambungkan Celery ke Kilang Aplikasi”?

Konfigurasikan broker dan aplikasi Celery. Anda berlatih Flask Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Flask Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Flask Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.

Berapa lamakah pelajaran “Sambungkan Celery ke Kilang Aplikasi” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Flask Academy ini?

Ya. Setiap pelajaran Flask Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Mengapa Kerja Perlu Dialihkan daripada Permintaan
  2. Sambungkan Celery ke Kilang Aplikasi
  3. Tentukan dan Panggil Tugas
  4. Jejak Hasil dan Kendalikan Kegagalan
← Kembali ke Flask Academy