Rumah > pembangunan bahagian belakang > Tutorial Python > Cara menggunakan Flask Python untuk membina aplikasi API yang cekap dan melaksanakan tugas latar belakang

Cara menggunakan Flask Python untuk membina aplikasi API yang cekap dan melaksanakan tugas latar belakang

WBOY
Lepaskan: 2023-05-08 17:49:16
ke hadapan
1144 orang telah melayarinya

Dalam Python, terdapat beberapa penyelesaian untuk melaksanakan tugasan latar belakang, seperti Celery atau Redis Queue, yang merupakan cara yang baik untuk melaksanakan sistem baris gilir tugas. Tetapi menggunakan kedua-duanya adalah menyusahkan. Bayangkan senario di mana kami menggunakan Flask untuk membina API untuk memanggil tugas latar belakang dari satu terminal dan menghentikan tugas latar belakang menggunakan terminal lain.

Membina API mudah menggunakan Flask, dengan dua kaedah utama, satu untuk memulakan tugas latar belakang dan satu lagi untuk menghentikannya.

Untuk mengurus kitaran hayat tugas, kami menggunakan Event Objects, iaitu mekanisme komunikasi antara benang yang mudah.

Seperti yang ditunjukkan di bawah ialah perpustakaan yang diimport, pengisytiharan acara benang dan kaedah tugas latar belakang:

from time import sleep
from flask import Flask
from flask_cors import CORS
import threading
thread_event = threading.Event()
def backgroundTask():
    while thread_event.is_set():
        print('Background task running!')
        sleep(5)
Salin selepas log masuk

Kunci di sini ialah kaedah is_set(), yang akan mengembalikan nilai acara utas dalaman bendera: true atau false.

Pertama, gunakan kaedah set() untuk menetapkan bendera kepada true, yang akan memulakan urutan dan menjalankan kaedah backgroundTask secara berterusan.

@app.route("/start", methods=["POST"])
def startBackgroundTask():
    try:
        thread_event.set()
        thread = threading.Thread(target=backgroundTask)
        thread.start()
        return "Background task started!"
    except Exception as error:
        return str(error)
Salin selepas log masuk

Jika anda ingin menghentikan tugasan, panggil kaedah clear() untuk menetapkan bendera kepada false untuk menghentikan utas yang sedang berjalan.

rreeee

Atas ialah kandungan terperinci Cara menggunakan Flask Python untuk membina aplikasi API yang cekap dan melaksanakan tugas latar belakang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan