Celery 工作人员失去心跳并在 Ec2 上出现大幅漂移

2023-12-27

我现在正在 3 台 ec2 机器上测试我的 celery 实现。我现在对我的实施非常有信心,但我在实际的工作执行中遇到了问题。我的测试结构如下:

  • 1台ec2机器被指定为broker,还运行一个celeryworker
  • 1 台 ec2 机器被指定为客户端(运行客户端 celery 脚本,该脚本使用 .delay() 将所有任务排入队列,还运行 celery 工作线程
  • 1台ec2机器纯粹是一个worker。

所有机器都有 1 名芹菜工人在运行。之前,我立即收到消息:

“与 celery@[其他 ec2 ip] 的巨大偏差可能意味着时钟不同步。” 然后将打印以秒为单位的漂移量,该漂移量会随着时间的推移而增加。 我还会收到消息:“错过了来自 celery@[其他 ec2 ip] 的心跳。

此时机器将执行很少的工作,因此我在 ec2 中的 AutoScaling 配置会在实例的 CPU 利用率达到非常低的水平 (

因此,为了尝试解决这个问题,我尝试使用此命令同步所有机器的时钟(尽管我认为 celery 处理了这个问题),该命令是在所有机器启动时执行的:

apt-get -qy install ntp
service ntp start

这样,它们在大约 10 分钟内都表现良好,没有出现任何故障,之后我开始出现心跳丢失,我的 ec2 实例停止运行并关闭。奇怪的是,漂移有时会增加然后又减少。

知道为什么会发生这种情况吗?

我正在使用最新版本的celery(3.1)和rabbitmq

编辑:应该注意的是,我正在 ec2 上使用 us-west-1a 和 us-west-1c 可用区。

EDIT2:我开始认为内存问题可能是一个问题。我正在使用 t2.micro 实例,并在同一台机器上运行 3 个 celery 工作程序(仅 1 个实例),这也是代理,仍然会导致心跳丢失和停止。


None

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

Celery 工作人员失去心跳并在 Ec2 上出现大幅漂移 的相关文章

随机推荐

  • 使用NextJS Link,如何在客户端传递对象?

    我正在使用一个 Link 组件 并且想要将 JavaScript 对象传递到我要链接到的新页面 看来我可以传递基元 但不能传递对象 也就是说 我想做下面这样的事情 但我得到一个与 sessionData 关联的空字符串 session id
  • 将 div 翻译为里程表

    我一直在尝试使用 React 和 vanilla css 创建一个类似里程表的动画 到目前为止 它正在工作 当数字增加时 translationY向上就像实际的里程表一样 我目前的问题是 当它从 9 变为 0 时 translationY发
  • 编译器警告范围内没有原型定义的函数?

    问题受到评论线程的启发这个答案 https stackoverflow com questions 50399128 functions in c headers 50399252 50399252 众所周知 从 C99 开始 调用未声明的
  • 给定两个时间戳,如何返回“业务分钟”的增量

    为此寻找一个干净的函数 最好是在 Pandas Numpy 中 我目前正在使用 Pandas 的 CustomBusinessHour 和 TimeDelta 函数构建一些混乱的东西 但我认为必须有更好的方法 如果 Pandas 有 Cus
  • Spark中使用Hive数据库

    我是 Spark 新手 尝试使用 HortonWorks Sandbox 在 tpcds 基准表上运行一些查询 http www tpc org tpcds http www tpc org tpcds 在沙箱上通过 shell 或 hiv
  • 为什么 ASP.NET Core 中的线程 ID 会发生变化?

    我使用 Thread 来存储区域设置并将其传递到各层 在我的中间件中 我在当前线程中设置选定的区域设置 如下所示 Thread SetData Thread GetNamedDataSlot SelectedLocale selectedL
  • 在 SearchView 中应用词干提取以从 Firebase 数据库获取数据

    我需要使用以下命令从 Firebase 数据库中获取用户列表SeachView或搜索对话框 我认为词干将最适合我的应用程序 不要求代码 但请告诉我它的算法 为了实现你想要的 你需要执行一个如下所示的查询 DatabaseReference
  • 菱形符号在 UML 类图中表示什么?

    考虑下面两个图 顶部的右端包含一个普通箭头 底部的一个左端包含一个带菱形的箭头 右端包含一个普通箭头 这很棒的书 GoF https rads stackoverflow com amzn click com 0201634988具有这两种
  • 在指定字符后使用正则表达式匹配序列

    初始字符串是 图片 salmon v5 09 14 2011 jpg 我想捕获文本 salmon v5 09 14 2011 jpg 并使用GSkinner 的正则表达式工具 http gskinner com RegExr 我能得到的最接
  • iPhone SDK:UIWebView 阻止图像加载/下载

    如何在 Xcode 中使用 UIWebView 以便在加载页面时不会下载图像 以加快页面加载速度 UIWebView是 WebKit 完整版的一个苍白 可怜的小影子WebView 这很容易 webView shouldStartLoadWi
  • Ruby 中的迄今为止的字符串

    我有很多类似 Mar 31 1999 的字符串值 有没有一种简单的方法可以将此字符串格式转换为 Ruby Date 您可以使用Date parse方法 gt Date parse Mar 31 1999 gt Wed 31 Mar 1999
  • MySQL选择总和大于阈值的记录

    我需要使用单个查询 无存储过程 根据 MySQL 数据库表中列出的文件大小选择记录 记录集应包含文件大小总和等于或超过特定阈值 如果需要 的所有记录 例如 阈值 30 结果返回 3 条记录 文件大小等于 10 10 20 或 10 10 1
  • MySQL 索引和顺序

    这是我一直以来的疑问 据我所知 索引的顺序很重要 所以像这样的索引 first name last name 不等于 last name first name right 如果我只定义第一个索引 是否意味着它只会用于 SELECT FROM
  • 如何将 单元格重新编码为 tibble 列表列中的嵌套 NA ()?

    在带有列表列的小标题中 我如何替换
  • 我可以使用 suncalc 创建一个数据表,其中包含各个地理位置的每个日期的日出和日落时间吗?

    我正在尝试写一个function输出一个州内各个县一年中每一天的日出和日落时间 目前 我有一个table包含各县及其所属的列latitudes and longitudes eg County Latitude Longitude Gran
  • AngularJS ng-show 与 ng-animate 意外行为

    问题是 当我快速双击按钮来切换 ng show 时 该值不会改变 这是预期的行为 它会切换 但实际元素将被隐藏 看这里 http jsfiddle net QbZrJ http jsfiddle net QbZrJ 如果快速双击 该值将保持
  • 在CSS3中制作一个有一侧的平行四边形

    我用 CSS3 制作了一个平行四边形 有了这个代码 parallelogram width 150px height 100px webkit transform skew 20deg moz transform skew 20deg o
  • 如何为图像构建 JavaScript 预加载器

    我有一页缩略图 可以使用 jquery 中内置的图像交换脚本悬停来更改其不透明度 但是 当我在实时网站上运行它时 速度很慢 您必须等待第二个图像加载 因此悬停交换不会立即发生 如何在页面加载时预加载所有缩略图 该网站已上线here http
  • 为 MapFragment 子类设置 GoogleMapOptions

    有一个方法 MapFragment newInstance options 问题是我有自己的 CustomMapFragment 它是 MapFragment 的子类 并且我不知道如何为子类设置 GoogleMapOptions 我需要这个
  • Celery 工作人员失去心跳并在 Ec2 上出现大幅漂移

    我现在正在 3 台 ec2 机器上测试我的 celery 实现 我现在对我的实施非常有信心 但我在实际的工作执行中遇到了问题 我的测试结构如下 1台ec2机器被指定为broker 还运行一个celeryworker 1 台 ec2 机器被指