问题标签 [python-huey]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
719 浏览

python - 收听 python huey 事件 - 运行一次监听器?

我尝试将 python huey 队列合并到我的烧瓶应用程序中,并且我得到了一切工作。我使用它在我的工作流程中运行任务,并且在任务运行时我将它对用户隐藏(将来自 huey.task 的 task_id 添加到我在数据库中的 taskstatus 中) - 否则看起来同一个任务被卡住了,但实际上它在后台运行。

现在棘手的部分是在 Huey 任务完成时显示我的任务。我像在huey docs中一样合并了事件监听器(通过huey.storage迭代),但据我所知,它订阅redis并无限期运行(因为有定期任务检查)。因此,据我了解,事件侦听器本身必须在单独的线程中运行,所以我编写了 huey 任务来侦听 huey 任务:

但是这样说意味着这样的任务只需要运行一次——因为它永远消耗一个工人——很快就会没有更多的空闲工人。我从 get_huey_events 任务开始,同时创建应用程序工厂运行如下:

因此,我获取了 get_huey_events huey 任务的存储 ID,并使用 task.id 键查看它是否存储在我自定义创建的 huey.tasks 名称中的 redis 数据库中。如果数据库中有任务但redis中没有,或者数据库中没有任务,那么我运行事件监听器,否则没有。

我的问题是 - 有没有更好的方法来做到这一点?事件监听器本身应该是一个huey.task吗?我现在在 Windows 下运行它。

0 投票
2 回答
783 浏览

django - 无法在部署服务器上启用 huey 服务

我在 Django 项目部署中工作。我已经集成了 huey 来运行异步任务。本地一切运行完美,但现在,在部署步骤,我遇到了关于 huey 服务激活的麻烦。我真的找不到任何相关信息,因为我认为解决方案应该如此简单,但我真的找不到它:(。

我正在使用 nginx 和 gunicorn 服务。应用程序在部署服务器上完美运行,但 huey 任务未运行。我创建了一个位于/etc/systemd/system/的 huey.service 文件,其内容如下:

但我得到以下错误:

我认为huey服务没有检测到正在运行的virtualenv,因此找不到django(因为它在virtualenv中)但我之前已经配置了一个gunicorn服务来激活它;然后,我不知道如何说一个活动的 virtualenv 已经在运行并找到它的 huey 服务。

这是我的 gunicorn 文件配置:

我应该如何在部署服务器上激活huey服务?太感谢了。

0 投票
0 回答
166 浏览

python - 如何将哨兵与休伊工人/消费者整合

我想将 Sentry 与Huey 任务队列的工作人员/消费者集成。

我在 Sentry 和 Huey 的 GitHub 问题中都看到了一个问题,但我没有找到关于如何集成它们的明确答案。

我已经读过集成它们的一种方法是通过日志记录,但是我将我的 API 密钥存储在数据库中并从 Python 代码加载它,而不是从硬编码的 ini 文件中加载(推荐)。

这是我在主(金字塔)应用程序中加载 Sentry 的方式:

我的 huey_worker.py 只是一堆导入语句和数据库设置行,没有app我可以在 try 中包装的实际或函数 - 除了块。

在这种情况下集成 Sentry 的推荐方法是什么?

0 投票
1 回答
790 浏览

python - 设置 Huey 以将 Redis 与 Flask 一起使用

在此处输入图像描述

我正在尝试使用 Huey 作为跨平台任务队列。我找到了https://github.com/pjcunningham/flask-huey-example,我已经克隆并设置了一个使用 conda 的 virtualenv。(我在 Windows 上工作)按照我试过的自述文件:

当我打开http://localhost:6060/

在此处输入图像描述

我可以单击发送按钮,然后我会看到屏幕截图。但是虽然在 REDIS 中创建了一个列表,但没有存储任何任务:

如何将任务发送到 REDIS 任务队列?

0 投票
4 回答
14887 浏览

python - OSError: [WinError 10013] 试图以访问权限禁止的方式访问套接字

我正在尝试使用 Huey 作为跨平台任务队列。我找到了https://github.com/pjcunningham/flask-huey-example,我已经克隆并设置了一个用于使用 conda 的 virtualenv(我正在使用 Windows)。我已经按照更新的自述文件进行了操作,并设法让所有三个窗口都正常运行。但是当我打开http://localhost:6060/

[![在此处输入图像描述][2]][2]

我单击发送按钮,这会破坏 Huey_consumer 进程:

我怎样才能得到这个工作?

0 投票
2 回答
1734 浏览

python - OSError:[Errno 98] 地址已在使用中 - Heroku

在此处输入图像描述

我正在尝试将项目https://github.com/kc1/flask-huey-example部署到 heroku 以允许使用任务队列和烧瓶。项目布局如上。您还可以查看我更新的 github 存储库。该项目在 Windows 上本地运行没有问题(本地不使用 gunicorn)。

我的档案:

我之前收到一个错误Failed to find application object 'app' in 'run_app'。我试图通过将 run_app.py 更改为:

不幸的是,现在当我推到heroku时,我看到:

我怎样才能解决这个问题?

0 投票
1 回答
2348 浏览

python - 类型错误:装饰器()缺少 1 个必需的位置参数:'func'

在此处输入图像描述

我正在尝试使用 python huey ( https://github.com/coleifer/huey/blob/master/huey/api.py ) 来允许使用带有烧瓶的任务队列。

从一个函数开始:

我将它导入到 tasks.py 文件中,然后变成一个任务函数:

然后我将 some_long_calculation_task 导入 main/views.py 并尝试使用以下命令运行它:

但我得到:

我怎样才能解决这个问题?

0 投票
0 回答
593 浏览

python - Huey,Flask:ModuleNotFoundError:没有名为“run_huey”的模块

在此处输入图像描述

我正在尝试使用 python huey ( https://github.com/coleifer/huey/blob/master/huey/api.py ) 来允许使用带有烧瓶的任务队列。

从文件 app.tasking.tasks 开始:

如果我运行:

$ python ...huey_consumer.exe run_huey.huey 其中run_huey.py(项目根目录中的一个文件)包含:

我懂了:

显示任务可用。但是,如果我无法将已转换为任务的函数导入 app.main.views 文件,以便我可以通过视图函数调用它。例如,如果我添加:

到 main.views 文件:

我怎样才能解决这个问题?

0 投票
1 回答
341 浏览

python - 如何使用huey创建带有参数的任务函数?

在此处输入图像描述

我正在尝试使用 python huey ( https://github.com/coleifer/huey/blob/master/huey/api.py ) 来允许使用带有烧瓶的任务队列。

基于TypeError: decorator() missing 1 required positional argument: 'func',我可以使用 huey 创建一个没有参数的任务函数,使用:

但是,我希望能够传递一个参数,所以我需要类似的东西:

如何使用huey创建带有参数的任务函数?

0 投票
1 回答
2115 浏览

python - sqlite3.OperationalError)没有这样的表 - 带有 Huey 任务队列的烧瓶

在此处输入图像描述

我正在尝试使用 python huey ( https://github.com/coleifer/huey/blob/master/huey/api.py ) 来允许使用带有烧瓶的任务队列。

我的应用程序/初始化包含:

我的 Huey 任务文件夹包含:

在我的烧瓶视图中,我有:

我得到的错误是

尽管我正在初始化 flask-sqlalchemy 扩展,但应用程序似乎找不到表。我怎样才能得到这个工作?