Rumah  >  Artikel  >  pembangunan bahagian belakang  >  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
WBOYke hadapan
2023-05-08 17:49:161066semak imbas

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)

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)

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!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam