替换池中表现不佳的工人

2024-01-11

我有一组无国籍的演员,执行类似的任务。 这些工人中的每一个都是不可靠的并且可能表现不佳。在我的设计中,我可以轻松地产生更多演员来取代懒惰的演员。

演员的演技是靠自己来评价的。有没有办法让主管/演员池进行此评估,以帮助决定哪些工作人员速度慢到足以让我替换?或者我当前的策略是“正确的”策略吗?


我自己对 akka 很陌生,所以只是想提供帮助,但我的攻击将是以下几行:

  • 编写自己的路由逻辑,大致如下https://github.com/akka/akka/blob/v2.3.5/akka-actor/src/main/scala/akka/routing/SmallestMailbox.scala https://github.com/akka/akka/blob/v2.3.5/akka-actor/src/main/scala/akka/routing/SmallestMailbox.scala请记住,为每个池创建一个新实例,因此每个实例可以存储有关每个参与者到目前为止已处理多少消息的信息。在这种情况下,一旦发现某个参与者表现不佳,请在单独的数据结构中将其标记为“可移除”(一旦不再处理任何新消息),并停止发送进一步的消息。

  • 编写自己的路由器池:覆盖 createRouterActorhttps://github.com/akka/akka/blob/v2.3.5/akka-actor/src/main/scala/akka/routing/RouterConfig.scala:236 https://github.com/akka/akka/blob/v2.3.5/akka-actor/src/main/scala/akka/routing/RouterConfig.scala:236提供您自己的 CustomRouterPoolActor

  • 按照以下几行编写您的 CustomRouterPoolActor:https://github.com/akka/akka/blob/8485cd2ebb46d2fba851c41c03e34436e498c005/akka-actor/src/main/scala/akka/routing/Resizer.scala https://github.com/akka/akka/blob/8485cd2ebb46d2fba851c41c03e34436e498c005/akka-actor/src/main/scala/akka/routing/Resizer.scala(请参阅 RessizedPoolActor)。该参与者将有权访问您的策略实例。从此策略实例中删除已标记为删除的路由。查看 ResizablePoolCell 了解如何删除 actor。

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

替换池中表现不佳的工人 的相关文章

  • 在仔细锁定但不受信任的代码上使用 Thread.stop()

    我知道Thread stop 已被弃用 并且有充分的理由 它通常不安全 但这并不意味着它是never安全 据我所知 在我想要使用它的上下文中它是安全的 而且 据我所知 我别无选择 上下文是一个两人策略游戏的第三方插件 以国际象棋为例 第三方
  • 利用 SLURM 上的所有 CPU

    我想在集群上运行作业 不同节点上有不同数量的 CPU 我不知道哪些节点将分配给我 正确的选项是什么 以便作业可以在所有节点上创建与 CPU 一样多的任务 bin bash l SBATCH p normal SBATCH N 4 SBATC
  • 如何处理 Spark 数据框中外连接的数据倾斜

    我有两个数据框 正在对 5 列执行外连接 下面是我的数据集的示例 uniqueFundamentalSet PeriodId SourceId StatementTypeCode StatementCurrencyId FinancialS
  • 为什么线程本地存储不使用页表映射来实现?

    我希望使用 C 11thread local将非常频繁地访问的每线程布尔标志的关键字 然而 大多数编译器似乎都使用一个表来实现线程本地存储 该表将整数 ID 槽 映射到当前线程上的变量地址 此查找将发生在性能关键的代码路径内 因此我对其性能
  • 这是一种在 Akka FSM 中内部监视到第一个状态的转换的方法吗?

    考虑从状态 Idle 开始的 FSM actor startWith Idle IdleData 我想监视到第一个状态的转换 从无状态 I tried onTransition case gt Idle gt Wasn t called 根
  • 单击“发送”按钮事件时,我们可以在哪里获取 xml/元数据格式的表单数据?

    我是一个新的 scala 学习者 作为要求的一部分 我需要将表单数据插入 activemq 队列中以进行提交事件 我尝试调试发送方法代码 以了解单击 FormRunnerActions scala 类中的发送按钮时我们到底在哪里获取 xml
  • 在单个BackgroundWorker上运行多个DoWork函数是否安全?

    我正在使用已建立的代码库 并且我想将一些正在完成的工作移至单独的线程 目前代码的结构方式我想做一些类似的事情 var backgroundWorker new BackgroundWorker backgroundWorker DoWork
  • Java中如何杀死正在等待阻塞函数调用的线程?

    我有一个线程 Thread t new Thread public void run ServerSocketConnection scn ServerSocketConnection Connector open socket 1234
  • Ruby MRI 1.8.7 - 文件写入线程安全

    在我看来 在 Ruby MRI 1 8 7 中写入文件是完全线程安全的 示例 1 完美的结果 File open test txt a f threads 1 000 000 times do n threads lt lt Thread
  • 易失性数组 C++

    我有一个应用程序 它有一个指针数组MyObject对象 MyObject arr arr new MyObject 10 应用程序有两个线程 这些线程会创建和删除new MyObject 排列arr 所以arr n 会一直改变 但是MyOb
  • 不鼓励在Web应用程序中使用线程吗?

    我们与同事就在 Java 的 Web 应用程序中使用线程进行了激烈的讨论 他们的观点是 不建议在 Java Web 应用程序中使用线程 因为它们不受容器管理 一般来说 我对此表示同意 因为线程可能会干扰容器 但是 如果它不是 Java EE
  • QPainter 性能高帧率

    我试图在 QPainter 中以 60fps 的速度显示视频 在 OpenGLwidget 中 我遇到一个问题 有时绘图花费的时间太长 并且在使用 QPainter 时发生下一个重绘事件 这会生成警告和随机崩溃 有几个问题 是否有一种 Qt
  • .NET ReaderWriterLockSlim 问题

    有很多关于 ReaderWriterLockSlim 类的文章 它允许多次读取和一次写入 所有这些 至少我发现的 都告诉了如何使用它 而没有太多解释它为什么以及如何工作 标准代码示例是 lock EnterUpgradeableReadLo
  • 任务中的 console.writeline 不起作用

    我正在学习基于任务的编程 但无法使该代码工作 控制台仅打印该消息一次 然后消失 如果我删除读取行并运行程序 不是调试模式 控制台只会出现并显示消息 提示按某个键继续 当我调试并将调试器放入 console write 中时 它可以正常工作一
  • 为什么这个 Clojure 程序在可变数组上运行如此慢?

    剧透警告 这是 代码降临 第六天的第一部分 我试图解决this http adventofcode com day 6Clojure 和 Scala 中的问题 Scala 程序在我的 Macbook Air 上运行良好 几秒钟内就完成了 然
  • Scala 中 Null/Nothing/Unit 的用法

    我刚刚读过 http oldfashionedsoftware com 2008 08 20 a post about nothing http oldfashionedsoftware com 2008 08 20 a post abou
  • 如何在 Scala 用户定义注释中使用命名参数?

    在下面的代码中 我能够获得第一个注释对象 Publishable 但不能获得第二个 第二个使用命名参数 它转换为 x 2 x 3 x 1 作为 AST 中的参数 我该如何正确地做到这一点 class Publishable val path
  • 在 Scala 中使用隐式的良好实践 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 是否有任何客观原因在代码中到处使用隐式参数只是为了缩短应传递的参数数量 我有一个 REST API 端点的每个调用都有一个唯一的 ID 应该在调
  • Objective C - 后台执行选择器并且分离新线程选择器?

    detachNewThreadSelector 和performSelectorInBackground 都用于在后台调用方法 2种方法有什么区别吗 或者它们的工作方式相同吗 它们本质上是相同的 但范式略有不同 他们在幕后做着完全相同的事情
  • 大量互斥体对性能的影响

    假设我有一个包含 1 000 000 个元素的数组 以及多个工作线程 每个线程都操作该数组中的数据 工作线程可能会使用新数据更新已填充的元素 但每个操作仅限于单个数组元素 并且独立于任何其他元素的值 使用单个互斥锁来保护整个数组显然会导致高

随机推荐

  • 找不到模块 ember-validations

    尝试使用 ember cli 的 ember validations 插件 遇到这个问题 我不知道缺少什么 这是我的 package json 中的依赖项部分 devDependencies broccoli asset rev 2 0 0
  • 未找到 Xamarin 方法“CGSize..ctor”

    我刚刚更新了 xamarin studio 然后更新了我的 iOS 项目中的 xamarin forms 包 一切都构建得很好 但是当我尝试在模拟器中运行该应用程序时 出现以下错误 未找到方法 CGSize ctor 我创建了一个新的解决方
  • Laravel Blade 表单关闭问题

    我在 Laravel 中有一个这样的表单 div class modal body Form model questionGroup route gt question groups update questionGroup gt id m
  • 如何使用 uniqueId() jquery ui

    似乎 jquery ui 已加载 因为当我运行时 function did the UI load console log ui version JS控制台返回1 10 3 我正在使用宝石https github com joliss jq
  • Pandas 将 groupby 总和值分配给原始表中的最后一行

    例如 我有一张桌子 A id price sum 1 2 0 1 6 0 1 4 0 2 2 0 2 10 0 2 1 0 2 5 0 3 1 0 3 5 0 我想要的就像 最后一行sum应该是price一个团体的 id price sum
  • Asp.net 会员资格 - 帐户被锁定

    我们正在使用 ASP net 附带的标准 ASP net 会员功能 我们的会员数据库中的某些帐户将 锁定 标志设置为 true 这种情况何时 如何发生 在可配置的时间长度 passwordAttemptWindow 默认 10 分钟 内登录
  • JQuery FullCalendar 从 ajax 成功调用 rerenderEvents 时出现问题

    由于某种原因 我无法在 POST 后重新呈现日历 到那时一切都很顺利 calendar fullCalendar select function startDate endDate ajax url data php type POST d
  • 使用 Skip/Take 进行分页时 LINQ 查询性能极差

    我需要使用 LINQ 从 DB2 数据库查询记录 我有从数据库架构生成的实体 并尝试使用 Skip 和 Take 执行 LINQ 查询 基础表大约有 25 列 可能有 100 万条记录 当我在没有 Skip 的情况下执行查询时 大约需要 0
  • 反应式表单提交后显示错误消息

    在 Angular 8 Reactive 表单上 我有以下内容
  • phonegap 3.5.0 中缺少 Cordova jar

    在我使用phonegap 2 7 0之前 因此 对于phonegap更新 我使用node js安装了phonegap版本3 5 0 但在phonegap文件夹中没有cordova jar文件 如果我在 ADT 中创建一个项目 如何添加 co
  • VS2008 C++ 优化器有时会生成较慢的代码吗?

    继从上一个问题 https stackoverflow com questions 5165877 whole program optimization failing in vc2008 我一直在我的发布版本中尝试优化器设置 以了解使用编
  • 检测简单数值向量中的一个或多个拐点

    All 我正在寻找一种可靠的 无监督的方法来检测相对较短的向量中的变化点 考虑以下两个示例 v1 c 0 299584 0 314446 0 357783 0 388896 0 410417 0 427182 0 450383 0 4666
  • 使用 NVIDIA TensorRT 推理引擎运行 Tensorflow

    我想使用 NVIDIA TensorRT 来运行我的 Tensorflow 模型 目前 TensorRT 支持 Caffe prototxt 网络描述符文件 我无法找到将 Tensorflow 模型转换为 Caffe 模型的源代码 有什么解
  • 如何以编程方式关闭选择文件对话框

    我有一个输入字段type file选择图像文件 但我想要的是 如果有人打开文件选择器对话框 并且在某些特定事件中 它会自动 以编程方式关闭对话框 而无需用户点击取消按钮 有什么办法可以用js jquery来实现吗 互动
  • jquery 插件 Isotope 的回调

    我正在使用同位素 http isotope metafizzy co http isotope metafizzy co 具有可扩展的项目 我想使用 ScrollTo 以便我可以自动滚动到新扩展的项目 我首先尝试将回调与 reLayout
  • Spring @Value 无法识别 Interger 属性值

    我正在创建一个用于邮件服务配置的组件 gt gt Component PropertySource classpath mail properties public class Mail Value email config host pr
  • StackOverflow 中的 301 重定向。它是如何运作的? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我们以这个问题的网址为例 http stackoverflow com questions 20306229 301 redirect i
  • PHP - Laravel Collection 或 Array 的类型提示

    我想创建一个接受任何可遍历对象作为参数的函数 例如 Laravel Collection Array 有没有办法在函数参数中输入提示这个条件 我希望在单一定义中实现以下两个效果 function test array traversable
  • Visual Studio 2010:关于“程序数据库管理器”的致命错误 C1902

    这是MSDN上的一些描述 错误信息 程序数据库管理器不匹配 请检查您的安装 程序数据库文件 pdb 是使用比编译时发现的版本更新的 mspdb80 dll 创建的 此错误通常表明 mspdbsrv exe 或 mspdbcore dll m
  • 替换池中表现不佳的工人

    我有一组无国籍的演员 执行类似的任务 这些工人中的每一个都是不可靠的并且可能表现不佳 在我的设计中 我可以轻松地产生更多演员来取代懒惰的演员 演员的演技是靠自己来评价的 有没有办法让主管 演员池进行此评估 以帮助决定哪些工作人员速度慢到足以