小编Ven*_* D.的帖子

Heroku + Sidekiq:ActiveRecord :: StatementInvalid:PG :: UnableToSend:SSL SYSCALL错误:检测到EOF

嗨,我们正在使用独角兽和Sidekiq在Heroku的Cedar堆栈上运行.我们间歇性地得到以下错误

BurnThis ActiveRecord::StatementInvalid: PG::UnableToSend: SSL SYSCALL error: EOF detected

ActiveRecord::StatementInvalid: PG::ConnectionBad: PQconsumeInput() SSL SYSCALL error: Connection timed out
Run Code Online (Sandbox Code Playgroud)

有没有人知道这些错误的直接原因是什么?与我们的数据库连接太多了吗?我们已经通过以下方式设置了分叉:

unicorn.rb

worker_processes Integer(ENV["WEB_CONCURRENCY"] || 3)
timeout 30
preload_app true

before_fork do |server, worker|
  Signal.trap 'TERM' do
    puts 'Unicorn master intercepting TERM and sending myself QUIT instead'
    Process.kill 'QUIT', Process.pid
  end

  defined?(ActiveRecord::Base) and
    ActiveRecord::

Base.connection.disconnect!
end

after_fork do |server, worker|
  Signal.trap 'TERM' do
    puts 'Unicorn worker intercepting TERM and doing nothing. Wait for master to send QUIT'
  end

  # other setup
  if …
Run Code Online (Sandbox Code Playgroud)

connection-pooling heroku rails-postgresql rails-activerecord heroku-postgres

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

测试使用ActiveRecord模型的gem

我写了一个gem,如果你传入一个ActiveRecord模型,它会将数据导入你的数据库.例如:

importer = Importer.new(Widget)
importer.import(data_source)
Run Code Online (Sandbox Code Playgroud)

有没有一种好方法来测试这个宝石?我会以某种方式需要连接到测试数据库并创建测试模型.谢谢!

testing activerecord rspec ruby-on-rails

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

如何编写好的单元测试消息

我最近开始在我的项目中编写单元测试,我注意到所有断言语句都有一个消息参数.

什么是单元测试的好消息?

$cache->set('foo', 3);
$this->assertEquals($cache->get('foo'), 3, 'what should i say?');
Run Code Online (Sandbox Code Playgroud)

谢谢!

testing unit-testing

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

启动混合任务流程依赖项

Elixir的新手,但到目前为止爱它:)

我的很多混音任务都依赖于HTTPotion.

我的mix.exs文件是这样声明的

  def application do
    [
      applications: [:logger, :cowboy, :plug, :httpotion, :poison],
      mod: {BiddingAgent, []}
    ]
  end
Run Code Online (Sandbox Code Playgroud)

所以HTTPotion.start会自动调用.但是,当我运行mix campaign.list需要调用http请求的任务时,我必须手动调用HTTPotion.start.

确保为我的混音任务启动正确的流程的惯用方法是什么?

谢谢!

elixir

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

在注销时回到初始故事板ViewController

我在iOS中使用故事板.第一个屏幕是登录屏幕.当用户注销或退出时,他可能位于深层次结构的屏幕上.

例如:login view controller => modal view controller => tab bar controller => nav controller => view controller => view controller.我想从最顶层的视图控制器一直回到底部控制器.

编辑:这是视图层次结构图:在此输入图像描述

谢谢!

iphone ios uistoryboard uistoryboardsegue

6
推荐指数
2
解决办法
2280
查看次数

为什么需要在Rails 3中重新加载代码?

我是一名前PHP开发人员,学习Rails和Sinatra.在PHP中,每个页面请求都加载了所有必需的文件.如果我更改了一些代码并刷新了页面,我可以确定代码是新鲜的.

在Rails 3中,Controller代码在每个请求中都是新鲜的.但是,如果我修改/ lib文件夹中的任何代码,我需要重新启动服务器以使更改生效.

为什么会这样?这与Ruby的设计方式有关吗?Rails是否进行了一些优化以避免在每个请求上重新加载代码?

谢谢!

编辑:我最感兴趣的是幕后发生的事情.像Rails和Sinatra这样的框架是否为类做了一些特殊的缓存?如果是这样,他们做了什么?Ruby中的默认行为是每次请求都会重新加载所有代码吗?为什么我们需要像Shotgun for Sinatra这样的工具(http://sinatra-book.gittr.com/#automatic_code_reloading)?

ruby caching ruby-on-rails sinatra

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

Google云端硬盘上的Beta应用

我开发了一款与Google云端硬盘集成的应用.它利用了共享功能.我是否有一个很好的方式来测试这个应用程序,同时仍然允许与商店中的应用程序相同的体验?在向公众发布之前,我想解决任何漏洞和性能问题.

谢谢!

google-drive-api

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

移动应用程序上的三脚oauth流量

我有一个三脚auth流程在我的网络应用程序上工作.它如下:

  • 使用点击与Google相关联
  • 他们接受Google提供的OAuth对话框
  • 该页面将重定向到我的后端的/ oauth/google端点,并带有一个代码参数,我发送给Google以获取refresh_token,以便我可以代表他们访问数据(如日历信息)
  • 我重定向回Web应用程序,在URL中传递我自己的JWT令牌.
  • 每当Web应用程序发出像api.mybackend.com/me这样的请求时,他们都会使用我提供的JWT令牌

我正试图在移动应用程序中完成类似的事情.这样做的可接受方式是什么?几乎是相同的逻辑吗?

如果它有帮助,我的后端是Ruby on Rails,我正在Swift中编写移动应用程序.

谢谢!

mobile ruby-on-rails oauth oauth-2.0 swift

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

sencha touch - 隐藏Ext.navigation.View的标题栏

是否可以隐藏Ext.navigation.View的标题栏?我没有在文档中看到任何选项.

谢谢!

sencha-touch

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

使用PHP安全地使用exec来运行ffmpeg

我想从PHP运行ffmpeg用于视频编码.

我在考虑使用exec或passthru命令.但是,我被警告说启用这些功能存在安全风险.用我的支持人员的话来说:

指令'disable_functions'用于禁用任何允许执行系统命令的函数.这是为了提高服务器的安全性.如果使用不当,这些PHP函数可用于破解服务器.

我猜测如果启用exec,那么有人可能(可能)执行任意unix命令.有谁知道从PHP运行ffmpeg的安全方法?

顺便说一句,我在一个专用的服务器上.提前谢谢!

php security ffmpeg

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