如何使用 Flask 和 Celery 定期运行函数?

2023-12-22

我有一个烧瓶应用程序,大致如下所示:

app = Flask(__name__)
@app.route('/',methods=['POST'])
def foo():
   data = json.loads(request.data)
   # do some stuff

   return "OK"

现在另外我想从该脚本每十秒运行一个函数。我不想为此使用睡眠。我还有以下芹菜脚本:

from celery import Celery
from datetime import timedelta
celery = Celery('__name__')

CELERYBEAT_SCHEDULE = {
    'add-every-30-seconds': {
        'task': 'tasks.add',
        'schedule': timedelta(seconds=10)
    },
}



@celery.task(name='tasks.add')
def hello():
    app.logger.info('run my function')

该脚本工作正常,但 logger.info 未执行。我缺少什么?


你有 Celery 工作程序和 Celery 击败运行吗?计划任务由以下人员处理beat,它会在适当的时候对提到的任务进行排队。Worker然后实际处理数字并执行你的任务。

celery worker --app myproject--loglevel=info
celery beat --app myproject

然而,您的任务看起来像是在调用 Flask 应用程序的记录器。使用工作线程时,您可能没有 Flask 应用程序(因为它位于另一个进程中)。尝试使用普通的 Python 记录器来执行演示任务。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Flask 和 Celery 定期运行函数? 的相关文章

随机推荐

  • Facebook JavaScript SDK 在 FB.login 调用后不会在 chrome 中设置访问令牌 cookie

    我正在使用 Facebook JavaScript SDK 来实现我的网站的登录 我已经可以在 Safari 和 Firefox 上使用它 但不能在 Chrome 上使用 调用 FB login 方法后 我可以从 Facebook 检索访问
  • PCL 中的 xamarin securestring 等效项

    SecureString 与 PCL 不友好 我知道这个问题可以使用依赖注入来解决 但我不想这样做 而是想在 PCL 中使用与 SecureString 等效的东西 但到目前为止我还找不到任何其他类或框架 System Security 几
  • protobuf-net 枚举序列化

    为了使用 protobuf net 序列化枚举 需要做什么 当序列化具有枚举属性的类时 我收到以下错误 如果从属性声明中删除 DataMember 属性 则它可以正常工作 System InvalidOperationException 仅
  • 仅使用互斥锁实现读/写锁?

    我试图仅使用互斥锁来实现读 写锁 仅供学习 正当我以为我已经涵盖了所有极端情况 因为程序可以处理各种组合 时 我意识到 我忽略了一个事实 因为它在 ubuntu 中工作 互斥体应该由线程的所有者释放 下面是我的实现 class rw loc
  • 突出显示组合框中的特定项目

    我有一个场景 我用模板名称填充组合框 在这些模板中 有一个是默认模板 我想在填充组合框时突出显示默认模板名称 以便用户知道其中哪一项是默认的 可以这样做吗 如果是的话怎么办 我正在使用 C 2 0 中的 Windows 窗体 这在一定程度上
  • MvvmCross Android - 按钮命令的relativesource绑定的替代方案

    I have a list of items bound to a MvxBindableListView with a MvxItemTemplate I usually have 4 items in my list bound to
  • 如何在 Rails 迁移中将列(包含内容)移动到另一个表?

    我需要将一些列从一个现有表移动到另一个表 如何使用 Rails 迁移来完成此操作 class AddPropertyToUser lt ActiveRecord Migration def self up add column users
  • 角度帖子json来表达

    我正在尝试将 json 发送到服务器节点 expressangular js 我的服务器 js Setup Dependencies var express require express Start Express var app exp
  • 使用 Pinterest SDK 发送到已释放实例的消息

    我正在使用 Pinterest iOS SDK 分享我的 iPad 应用程序中的项目 下面的代码片段总是会崩溃message sent to deallocated instance在评论线上 NSString clientId NSMut
  • 自动将 ipython 输出为 pdf

    我有一个小程序 基本上可以进行各种统计计算并打印结果和图表 目前 获得程序的良好 pdf 输出的一种便捷方法是使用魔术命令 matplotlib inline 在 Jupyter IPython Notebook 中运行我的代码 并通过执行
  • Java 正则表达式,具有积极的向后展望和消极的向前展望

    我正在尝试从这种字符串中提取ou persons ou dc company dc org最后一个字符串立即之前是 a coma 没有跟随 在最后一种情况下 这应该给出dc company dc org 从正则表达式来看 这似乎是消极展望背
  • 在 git add 中显示更多上下文

    例如 使用 git diff 我可以执行以下操作 以在显示差异时显示 10 条周围的上下文行 git diff U10 我可以用 git add patch 做类似的事情吗 理想情况下我想 git add p U10 但我没有找到这样的选项
  • 启用 WhiteNoise 时“collectstatic”命令失败

    我正在尝试通过以下方式提供静态文件白噪声 https github com evansd whitenoise blob master docs django rst as per Heroku https devcenter heroku
  • 获取新的 Apple 设备令牌?

    我正在创建一个应用程序 允许用户注销该应用程序并根据需要以其他用户身份登录 新用户登录后 有什么方法可以从 Apple 获取新的设备令牌吗 有没有办法强制调用didRegisterForRemoteNotificationsWithDevi
  • 确定网络连接带宽(速度)wifi和移动数据

    我想要获取以 kbps 或 mbps 为单位的网络连接带宽 如果设备连接到 WiFi 那么它应该返回网络带宽 速度 以及移动数据 它将返回 wifi 能力速率 但我想要精确的数据传输速率 public String getLinkRate
  • 更改 recyclerView 项目背景 onClick?

    当我按下我的按钮时我就会做到这一点recyclerView这会改变它的背景颜色 这样按下的时候就会可见 但我不太喜欢android 所以我不知道该怎么做 我尝试过在网上找到的一些指南 但其中大多数对我不起作用 就像这样guide https
  • 如何使用 nunit 和 moq 进行异常处理?

    我正在尝试使用 nunits 新的异常处理方式 但我发现很难找到有关它的信息以及如何将它与最小起订量一起使用 我现在有最小起订量 它在模拟方法上抛出异常 但我不知道如何使用 nunit 来捕获它并查看它 有几种不同的方法可以做到这一点 我使
  • `with_items` 输出太冗长

    我编写了一个 ansible 任务来迭代设置列表 使用with items 现在 当我运行 ansible 时 我的所有设置都会被记录 它非常冗长 让人很难看出发生了什么 但是 如果我禁用所有输出no log 当特定项目失败时 我将无法识别
  • 使用 React 构建 CRM Web 资源

    我是新的 Dynamics CRM 我的项目包括表单提交和验证 我计划使用带有 Redux 前端的 React 和 CRM 的服务来构建一个产品 构建 CRM Web 资源的 CRM 最佳实践是什么 有人可以指导我吗 https githu
  • 如何使用 Flask 和 Celery 定期运行函数?

    我有一个烧瓶应用程序 大致如下所示 app Flask name app route methods POST def foo data json loads request data do some stuff return OK 现在另