代码之家  ›  专栏  ›  技术社区  ›  Sainath Mallidi

Rails中的队列管理

  •  0
  • Sainath Mallidi  · 技术社区  · 15 年前

    我计划在RubyonRails上建立一个类似这样的网站。用户在一个文本字段中输入一组名称,然后从所有名称创建一个队列。从那里,网站会不断地询问队列中每个人的详细信息,直到队列结束。

    Ruby中是否有可用的队列管理gem,或者我只需创建一个数组并不断增加会话变量中的索引,就可以模拟队列行为?

    2 回复  |  直到 15 年前
        1
  •  3
  •   Jamie Wong    15 年前

    最简单的方法可能是使用 push shift Ruby数组的方法。

    把东西推到阵列的末端,shift将返回并移除第一个元素。

    当您接收到关于每个名称的数据时,您可以构建第二个名称列表—完成数组。或者,如果您不关心这个问题,只想用它们保存更多信息,只需将数组存储在会话中(假设它不会很大),然后继续。

    如果数组很大,请考虑将要添加的名称存储在表中的临时行中,然后在必要时删除它们。如果这是您所走的路线,请确保有一个定期运行的清理例程,用于删除从未填写过的条目。

    工具书类

        2
  •  1
  •   user94154    15 年前

    尝试使用ActiveRecord建模队列

    Queue.has_many :tasks
    

    属性:名称、ID、时间戳

    Task.belongs_to :queue
    

    属性:名称、ID、位置、时间戳、已完成

    使用时间戳设置初始位置。任务完成后,将位置设置为[最高位置]+1(假定位置编号越低,队列中的位置越高)。完成的任务将下沉到队列的底部,新任务将上升到顶部。

    希望这有帮助!