我们可以调用它们来处理诸如通

如果您尚未设置数据库,还可以选择将它们保存到 Google 表格。然而,请警惕这一点,因为这只是第一步——用户令牌赋予应用程序很大的权力,需要小心保护。 7. 异步处理 我们使用 Flask 运行我们的应用程序,它基本上是一整堆代码,过互联网接收信息请求之类的事情。

我使用

创建辅助工作进程。 Redis是我们的“消息经纪人”;这列出了我们希望二级 telegram 数字数据 进程执行的所有操作。 Celery 遍历这个列表并强制我们的工作人员按顺序执行这些任务。 Redis 是留在冰箱上的一张纸条,告诉你洗碗并取出垃圾箱,而 Celery 是一个室友,他会敲你卧室的门,手里拿着纸条,让你做所有的事情。

我确信我们的工人不太喜欢芹菜

但它对我们来说确实很有用。 您可以在此处找到有关将 Redis 添 你还需要做什么才能停止新疆棉花进口? 加到 Heroku 上的应用程序的说明,也可以在此处找到有关在 Heroku 上设置 Celery 的建议。 Miguel Grinberg 的《Using Celery with Flask》博客文章也是一个很好的资源,但使用正确的设置会导致与我们的数据库发生冲突,因此更容易坚持使用 Heroku 版本。

在那之前,我们在主应用程序中调用函数 – 任何形式的

。现在,通过添加“任务”。在我们的函数前面,我们说“现在不要这样做 – 将其交给辅助流程”。

这是因为我们做了一些事情:

我们创建了tasks.py,它是辅助进程。基本上它只是一个又大又长的函数,我们的主 目錄  代码调用它来运行。 在tasks.py中,我们将Celery添加到我们的导入中,并将我们的应用程序设置为celery.Celery(),这意味着当我们稍后使用“app”时,我们基本上是在说“这是我们Celery工作列表的一部分”,或者更确切地说“tas.py只会在它的室友Celery敲门时做任何事情”。

每次我们的主进程通过编写

tasks.any_function_name()调用异步函数时,我们都会在辅助程序中创建该函数,就像在同一个文件中一样。然而,在我们的辅助程序中,我们引入了“@app.task”,这是“当芹菜在门口尖叫时洗盘子(盘子、水、热、愤怒)”的另一种说法。