为什么 Celery 工作人员给出“OSError:套接字已关闭”

2024-03-03

我的与rabbitMQ一起工作的celery工作人员在工作几分钟后不断给我一个套接字错误——见下文。我想知道问题的主要原因是什么?我认为这可能是防火墙。但是,禁用防火墙并没有解决问题。 我正在 Windows 10 机器上工作。

C:\Users\user_\Desktop\Aida>celery -A tasks worker -l info -P eventlet

 -------------- celery@user-RazerBlade v4.2.0 (windowlicker)
---- **** -----
--- * ***  * -- Windows-10-10.0.17134-SP0 2018-07-13 12:27:03
-- * - **** ---
- ** ---------- [config]
- ** ---------- .> app:         tasks:0x4b95370
- ** ---------- .> transport:   amqp://guest:**@localhost:5672//
- ** ---------- .> results:     redis://
- *** --- * --- .> concurrency: 4 (eventlet)
-- ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
--- ***** -----
 -------------- [queues]
                .> queueA           exchange=(direct) key=tasks.task_1
                .> queueB           exchange=(direct) key=tasks.task_2
                .> queueC           exchange=(direct) key=tasks.task_3
                .> queueD           exchange=(direct) key=tasks.task_4

[tasks]
  . tasks.task_1
  . tasks.task_2
  . tasks.task_3
  . tasks.task_4

[2018-07-13 12:27:03,119: INFO/MainProcess] Connected to amqp://guest:**@127.0.0.1:5672//
[2018-07-13 12:27:03,133: INFO/MainProcess] mingle: searching for neighbors
[2018-07-13 12:27:04,166: INFO/MainProcess] mingle: all alone
[2018-07-13 12:27:04,212: INFO/MainProcess] pidbox: Connected to amqp://guest:**@127.0.0.1:5672//.
[2018-07-13 12:27:04,217: INFO/MainProcess] celery@user-RazerBlade ready.
[2018-07-13 12:30:04,270: WARNING/MainProcess] Traceback (most recent call last):
[2018-07-13 12:30:04,271: WARNING/MainProcess] File "c:\users\user_\appdata\local\programs\python\python37-32\lib\site-packages\eventlet\hubs\selects.py", line 55, in wait
    listeners.get(fileno, noop).cb(fileno)
[2018-07-13 12:30:04,276: WARNING/MainProcess] File "c:\users\user_\appdata\local\programs\python\python37-32\lib\site-packages\celery\worker\pidbox.py", line 120, in loop
    connection.drain_events(timeout=1.0)
[2018-07-13 12:30:04,277: WARNING/MainProcess] File "c:\users\user_\appdata\local\programs\python\python37-32\lib\site-packages\kombu\connection.py", line 301, in drain_events
    return self.transport.drain_events(self.connection, **kwargs)
[2018-07-13 12:30:04,278: WARNING/MainProcess] File "c:\users\user_\appdata\local\programs\python\python37-32\lib\site-packages\kombu\transport\pyamqp.py", line 103, in drain_events
    return connection.drain_events(**kwargs)
[2018-07-13 12:30:04,279: WARNING/MainProcess] File "c:\users\user_\appdata\local\programs\python\python37-32\lib\site-packages\amqp\connection.py", line 491, in drain_events
    while not self.blocking_read(timeout):
[2018-07-13 12:30:04,281: WARNING/MainProcess] File "c:\users\user_\appdata\local\programs\python\python37-32\lib\site-packages\amqp\connection.py", line 496, in blocking_read
    frame = self.transport.read_frame()
[2018-07-13 12:30:04,285: WARNING/MainProcess] File "c:\users\user_\appdata\local\programs\python\python37-32\lib\site-packages\amqp\transport.py", line 243, in read_frame
    frame_header = read(7, True)
[2018-07-13 12:30:04,286: WARNING/MainProcess] File "c:\users\user_\appdata\local\programs\python\python37-32\lib\site-packages\amqp\transport.py", line 426, in _read
    raise IOError('Socket closed')
[2018-07-13 12:30:04,287: WARNING/MainProcess] OSError: Socket closed
[2018-07-13 12:30:04,288: WARNING/MainProcess] Removing descriptor: 756

我不是 Windows 用户,但我会尽力给你一些提示。

(1) - 检查您的rabbitmq配置是否与您的连接字符串匹配(特别是在linux中,我可以将rabbitmq配置为仅侦听特定接口,因此它不会接受例如环回接口上的连接);我要检查的配置选项是NODE_IP_ADDRESS

(2) - 假设你100%确定你的rabbitmq正在运行我会检查是否NODENAME与您的实际系统配置匹配(即检查主机名的正确性)

(3) - 最明显但仍然值得检查的是你的rabbitmq用户是否正确(我看到你有guestuser,这个用户是你自己创建的吗?您是否授予其特定虚拟主机的权限?)

(4) - 如果您的连接字符串正确,这会导致另一个明显的问题。我的连接字符串看起来像这样BROKER_URL = 'amqp://my_user:very_secret_password@localhost:5672/my_vhost_name(在您的日志中,您似乎尚未将连接字符串配置为使用虚拟主机)

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

为什么 Celery 工作人员给出“OSError:套接字已关闭” 的相关文章

  • 如何得到将外力映射到广义力的矩阵?

    给定一个多体植物 我需要找到将外力 lambda 转换为广义力的矩阵 IE 以下方程中的 Phi 取自 Scott Kuindersma Frank Permenter 和 Russ Tedrake 的 稳定动态运动的有效可解二次规划 我的
  • 为什么字典排序是不确定的?

    我最近从 Python 2 7 切换到 Python 3 3 似乎在 Python 2 中 字典键的顺序是任意但一致的 而在 Python 3 中 通过例如获得的字典键的顺序是 vars https docs python org 3 li
  • 将 Python 中创建的 pandas 数据框插入 SQL Server

    如前所述 我在 Python 中创建了一个数据集合 40k 行 5 列 我想将其插入 SQL Server 表中 通常 在 SQL 中我会做一个 select into myTable from dataTable 调用来执行插入 但是 p
  • 有没有办法使用 openpyxl 或 xlsxwriter 保护工作簿?

    我正在尝试自动化 Excel 报告 并且我希望用户不要尝试重命名或重新排序工作表 虽然我使用 xlsxwriter 保护单个单元格没有问题 但我没有看到保护工作簿本身的选项 我正在寻找 openpyxl 但教程似乎没有任何效果 编辑 我现在
  • 按序列大小对 fasta 进行排序

    我目前想按序列大小对 hudge fasta 文件 10 8 行和序列 进行排序 fasta 是生物学中用于存储序列 遗传或蛋白质 的明确定义的格式 gt id1 序列 1 可以位于多行 gt id2 序列2 我运行了一个提供 tsv 格式
  • 如何对定义的字符集python中的所有可能的字符串进行加密?

    我试图加密定义的字符集中所有可能的字符串 然后将它们与用户输入给出的哈希进行比较 这就是我目前拥有的 import string from itertools import product import crypt def decrypt
  • Python子类方法从超类方法继承装饰器

    我有一个具有retrieve 方法的超类 并且它的子类每个都实现自己的retrieve 方法 我希望每个retrieve 方法都被装饰为在收到相同参数时缓存返回值 而不必在每个子类中装饰该方法 装饰器似乎不能被继承 我可能可以调用超类的方法
  • 从另一个文件覆盖函数中的变量

    一 总结 我不知道如何从另一个文件覆盖函数中的变量 2 示例 2 1 配置 I use logbook http logbook pocoo org and pyfancy https github com ilovecode1 Pyfan
  • 如何更改Python使用的SQLite版本?

    我在 Debian 9 12 上安装了 Python 3 8 和 SQLite 3 16 2 并且需要升级到较新版本的 SQLite 我已经下载并编译了 SQLite 网站上提供的合并 并将其放入 usr bin 所以当我这样做时 sqli
  • Pandas:根据其他列值有条件地替换值

    我有一个数据框 df 如下所示 environment event time 2017 04 28 13 08 22 NaN add rd 2017 04 28 08 58 40 NaN add rd 2017 05 03 07 59 35
  • 如何使用 python aiohttp 连接到 .onion 网站?

    我正在尝试连接到 onion使用 python 的网站 我在端口 9050 上运行 Tor 但收到以下错误 Traceback most recent call last File Users jane code test test py
  • pip install django_compressor 时命令 cl.exe 失败

    我发布此消息是因为我遇到了这个问题 并且已经尝试解决这个问题好几天了 但未能成功 当我尝试安装 django compressor pip install django compressor 时 我遇到以下错误 请参阅附件 我在网上搜索解决
  • Python3 http.server:将日志保存到文件中

    我使用Python3 6编写了一个简单的HTTP服务器来重定向所有请求 我写的文件可以找到here https github com kmahyyg learn py3 blob master antiscanhttp py 我可以在 Ub
  • AttributeError:模块“pandas”没有属性“read_csv”Python3.5

    我已经成功使用pandas read csv很久以来 当我尝试读取 csv 文件时 突然开始出现错误 df pd read csv file csv encoding utf 8 错误是 AttributeError module pand
  • Flask-Mail - 基于 Flask-Cookiecutter 异步发送电子邮件

    我的烧瓶项目基于烧瓶饼干切割机 https github com sloria cookiecutter flask我需要异步发送电子邮件 发送电子邮件的功能由以下配置米格尔的教程 https blog miguelgrinberg com
  • Keras ImageDataGenerator 相当于 csv 文件

    我在文件夹中排序了一堆数据 如下图所示 我需要构建一个 DataIterator 以便将数据放入神经网络模型中 当数据是图像时 我找到了很多例子来解决这个问题 使用 Keras 类图像数据生成器及其方法流自目录 但当数据是 csv 结构时则
  • Tweepy 流式传输错误

    我正在尝试使用 tweepy 和 textblob 分析推文的情绪 我执行了 pip install tweepy 并且安装成功 但出现以下错误 错误信息 文件 C Users joshey Desktop sent py 第 2 行 位于
  • Django Web 应用程序中的 SMTP 问题

    我被要求向使用 Django Python 框架实现的现有程序添加一个功能 此功能将允许用户单击一个按钮 该按钮将显示一个小对话框 表单以输入值 我确实编写了一些代码 显示电子邮件已发送的消息 但实际上 它没有发送 My code from
  • 如何在python 3.6.5中通过变量创建子元素

    我的代码是 import xml etree ElementTree as ET from lxml import etree var1
  • python:函数中的变量,点前面是函数名

    我需要理解这个概念 其中我们可以在函数定义中的变量名中使用点 这里没有类定义 也没有模块 Python 不应该接受包含点的变量名 def f x f author sunder f language Python print x f aut

随机推荐