что я могу сделать, чтобы использовать dramatiq в приложении flask

#python #flask #dramatiq

Вопрос:

следуя этому руководству https://github.com/Bogdanp/dramatiq Я создал простой скрипт на python, чтобы проверить, работает он или нет. Я выполнил несколько простых операций следующим образом

Это действительно сработало отлично.

пожалуйста, обратите внимание, что есть два терминала, один для запуска скрипта и один для рабочего, В скрипте, приведенном ниже, инструкции печати в функции count_word выполняются во втором терминале

 working example
import pandas as pd
import dramatiq
import requests
import sys

@dramatiq.actor
def count_words(url):
    response = requests.get(url)
    count = len(response.text.split(" "))


    data = {'Name': ['Tom', 'nick', 'krish', 'jack'],
            'Age': [20, 21, 19, 18]}

    df = pd.DataFrame(data)

    df.to_csv(r'C:Users91956Desktopasdf.csv')
    print(df)
    print(f"There are {count} words at {url!r}.")


if __name__ == "__main__":
    count_words.send("http://whatsapp.com")
 

поэтому я пошел дальше и попытался сделать то же самое в своем приложении flask, я ожидал, что инструкция печати в process_data будет напечатана в рабочем терминале, но она вообще не печатается,
только «привет, я на работе» печатается в терминале, в котором я запускаю приложение flask

 @app.route('/work')
def work():

    print("hi i am in work")    
    
    @dramatiq.actor
    def process_data():
        print('hi i am in process_data')
    
    process_data.send()
    
    return "hello"
 

Я хочу запустить функцию process_data в фоновом режиме,
Я новичок и многого не знаю, возможно ли достичь этого так, как я делаю?

поэтому я хочу знать, как я могу запустить определенную функцию в фоновом режиме в flask?