小编Ari*_*rif的帖子

Sidekiq 警告:未初始化的常量 ViewDBWorker Rails 4

我正在使用 Rails 4.1.5 和 Sidekiq 3.3.0。我已将这个工人的重复设置设置为每一分钟后执行一次。它在本地运行良好,但在生产和登台环境中引发错误。尽管工作人员正在执行其工作并保存记录,但仅在一分钟后抛出错误。

2016-01-21T10:50:00.594Z 5173 TID-osv5dzz5o WARN: uninitialized constant ViewDBWorker
Run Code Online (Sandbox Code Playgroud)

应用程序/工人/view_db_worker.rb:

class ViewDBWorker
  include Sidekiq::Worker
  include Sidetiq::Schedulable

  recurrence { hourly.minute_of_hour((0..59).to_a) } if Rails.env.staging? || Rails.env.production?

  def perform
      begin        
        do_process()
      rescue => e
        puts "Error message: #{e.message}"      
      end
  end

  def do_process()
    puts 'The worker  !!'
  end
end
Run Code Online (Sandbox Code Playgroud)

应用程序.rb

config.eager_load_paths += %W(#{config.root}/app/workers)
Run Code Online (Sandbox Code Playgroud)

sidekiq ruby-on-rails-4

2
推荐指数
1
解决办法
783
查看次数

在 Javascript 中将谷歌地图距离服务的持续时间转换为分钟

我正在使用谷歌地图距离矩阵服务,它返回duration以下格式的字符串:

  • 50分钟
  • 1小时40分钟
  • 1天2小时20分钟

为了进一步处理,我希望所有这些字符串值在几分钟内完成转换。寻找现有的转换插件但没有找到。有没有一种简单的方法来进行这种转换?

javascript jquery

2
推荐指数
1
解决办法
2162
查看次数

多个索引的 Elasticsearch 计数

我正在创建一个报告来比较数据库中的实际计数与索引记录。

我有三个索引 index1、index2 和 index3

要获取单个索引的计数,我使用以下 URL

http://localhost:9200/index1/_count?q=_type:invoice

=> {"count":50,"_shards":{"total":5,"successful":5,"failed":0}}
Run Code Online (Sandbox Code Playgroud)

对于多个索引:

http://localhost:9200/index1,index2/_count?q=_type:invoice

=> {"count":80,"_shards":{"total":5,"successful":5,"failed":0}}
Run Code Online (Sandbox Code Playgroud)

现在计数加起来,我希望它按索引分组,我如何通过特定字段的过滤器组来获得这样的输出:

{"index1_count":50,"index2_count":50,"approved":10,"rejected":40 ,"_shards":{"total":5,"successful":5,"failed":0}}
Run Code Online (Sandbox Code Playgroud)

elasticsearch

1
推荐指数
1
解决办法
1365
查看次数

如何用相同的元素对数组进行分组?

我有一个包含以下元素的数组:

array = [1, 2, 1, 3, 2, nil, 3, 3]
Run Code Online (Sandbox Code Playgroud)

我想通过匹配元素将它们分组并将其分配给哈希.输出应该如下所示:

{ one: [1, 1], two: [2, 2], three: [3, 3, 3], none: [nil] }
Run Code Online (Sandbox Code Playgroud)

注意:array只能包含1,2,3nil元素.

的键(:one,:two,:three,:none)可以是硬编码的.

ruby arrays

1
推荐指数
1
解决办法
115
查看次数

Rails:按月和年查询 ActiveRecord

在我的 rails 项目中有一个搜索页面,其中包含一个下拉列表,其中日期范围值以 (-) 分隔。下拉选项如下:

Jan,2014 - March,2014
April,2014 - Jun,2014
....
Oct,2014 - Dec,2014
Run Code Online (Sandbox Code Playgroud)

用户可以选择这些日期范围之一,并且只会显示位于所选日期范围内的那些记录。要过滤的字段start_date是时间戳字段。

所以我想要这样的东西:

filter = params[:filter].split("-") 
@posts = Post.where(start_date: filter[0]..filter[1])
Run Code Online (Sandbox Code Playgroud)

但在 params 中,我只得到月份和年份。如何解析这些值以便上述查询有效?

ruby ruby-on-rails

1
推荐指数
1
解决办法
2716
查看次数

检查Ruby on Rails中的字符串是否包含连续字符

尝试验证字符串以确定它是否包含3个或更多的连续字符.

例:

"11abcd$4567" => ['abcd', '4567']
Run Code Online (Sandbox Code Playgroud)

尝试通过正则表达式执行此操作,但代码看起来要长得多:

(?!abc|bcd|cde|.....)
Run Code Online (Sandbox Code Playgroud)

是否有一种简单的方法可以通过正则表达式或纯红宝石检查顺序字符?

ruby ruby-on-rails-4

1
推荐指数
1
解决办法
729
查看次数

Rails在哈希数组中求和值

以下是一系列哈希:

array = [
  {loading: 10, avg: 15, total: 25 },
  {loading: 20, avg: 20, total: 40 },
  {loading: 30, avg: 25, total: 55 }
]
Run Code Online (Sandbox Code Playgroud)

我需要对每个哈希值进行求和,结果应该是相同键的哈希值:

{loading: 60, avg: 60, total: 120}
Run Code Online (Sandbox Code Playgroud)

一种方法是为每个键单独求和值,然后合并为一个散列,如下所示:

loading = array.map { |h| h[:loading] }.sum
avg = array.map { |h| h[:avg] }.sum
total = array.map { |h| h[:total] }.sum

{loading: loading, avg: avg, total: total}
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法呢?因为密钥将来可能会增加.

ruby ruby-on-rails

0
推荐指数
1
解决办法
1955
查看次数