npm 包 hubot-short-straw 使用教程

阅读时长 3 分钟读完

介绍

hubot-short-straw是 Hubot 的一个 npm 包,它提供了一种有趣的机制来分配任务给 Hubot 的不同实例。它的基本原理是使用 Redis 存储所有实例之间的排除权(exclusion)。

安装

使用 npm 安装 hubot-short-straw

使用

按照下面的步骤使用hubot-short-straw:

  1. 在 Hubot 的入口脚本中,引入 hubot-short-straw 和 Redis:
  1. 在Hubot的聊天室中为每个实例赋予具体的名称:
  1. 如有必要,一些实例可能由于某些原因需要被排除在分配任务的可能性之外。下面的命令可以将实例排除在分配任务之外:
  1. 现在,每个实例都可以通过如下命令获取下一次分配的任务:
  1. 如果整个聊天室需要一次性获得下一个任务,可以使用以下命令:

示例代码

下面是一个示例代码,它演示了如何使用 hubot-short-straw 分配给不同的Hubot实例任务。

-- -------------------- ---- -------
----- ----- - -------------------
----- ---------- - -----------------------------

-------------- - -------- ------- -
  ----- ----- - --- --------

  ----------------------
  ----- ------------- - --------------------- -----------
  -----------------------
  ----- --------------- - ----------------------- -----------

  -- -- ----------
  ----------------- - ----- ---

  --------------------- ------- ----- -- -
    ----- -------- - ----------------------

    -- -- ---------- ----
    -- -------------- --- ------------------- -
      ----------
      ----------------- ----- ----------- ----------
    - ---- -- -------------- --- --------------------- -
      -------------
      ----------------- ---- ---- ------- -------- ----------
    -
  ---
--

指导意义

  • hubot-short-straw 提供了一种简单而有趣的机制来分配任务给 Hubot 的不同实例,更好的分配任务可以使 Hubot 实例更高效的执行任务。
  • 使用redis存储实例之间的排除权(exclusion)可以确保任务的公平分配,并且排除了系统中存在的竞争条件的风险。
  • 这也为使用 Hubot 的开发者提供了一个有用的工具,并且它对于对程序设计模式有高需求的前端工程师可以提供启发。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055f3981e8991b448dcc8e

纠错
反馈