2

按照本教程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:\Users\91956\Desktop\asdf.csv')
    print(df)
    print(f"There are {count} words at {url!r}.")


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

所以我继续尝试在我的烧瓶应用程序中做同样的事情,我希望 process_data 中的打印语句将在工作终端中打印,但它根本没有打印,只有“嗨,我在工作”被打印我运行烧瓶应用程序的终端

@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 函数,我是初学者并且不太了解,是否可以按照我的方式实现它?

所以我想知道如何在烧瓶的后台运行特定功能?

4

0 回答 0