小编ant*_*yer的帖子

Rails 如何知道何时响应 304 状态?

鉴于我有 Rails 控制器,它访问数据库以检索数据并使用序列化程序呈现 JSON 响应,必须满足什么条件才能使 rails 以 304 响应?

如果它必须将先前的响应与当前检索到的响应进行比较,它是哪种比较?

ruby-on-rails http-headers http-status-code-304

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

Capistrano 3"上传"任务会引发错误

我有capistrano 3任务

namespace :db do
  desc "serurely manages dbconn file after deploy"
  task :dbconfig do
    on roles(:web) do |host|
      upload("config/deploy/dbconn.template.php", "#{shared_path}/dbconn.php")
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

跑步时 cap staging db:dbconfig 我得到错误

   cap aborted!
   undefined method `upload' for #<SSHKit::Backend::Netssh:0x007ffe9a84b9f8>
Run Code Online (Sandbox Code Playgroud)

根据capistrano API,我可以使用此方法上传文件,我也在sshkit lib的源代码中找到它

宝石清单

*** LOCAL GEMS ***
bundler (1.3.5)
capistrano (3.0.1)
CFPropertyList (2.2.0)
i18n (0.6.5)
libxml-ruby (2.6.0)
net-scp (1.1.2)
net-ssh (2.7.0)
nokogiri (1.5.6)
rake (10.1.0)
sqlite3 (1.3.7)
sshkit (1.1.0)
term-ansicolor (1.2.2)
tins (0.13.1)
Run Code Online (Sandbox Code Playgroud)

ruby capistrano capistrano3

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

Heroku H99 错误可以做什么?

Heroku 生产应用程序 (node.js) 无法启动,出现 H99 错误 1 ​​小时。

根据文档,此错误意味着“heroku 平台错误”,并且是应用程序所有者无法修复的错误之一。

现在可以做什么?我应该尝试以某种方式修复它(回滚已经完成但没有效果)

heroku node.js

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

scala中的RESTful http DELETE方法(播放2.0)

我正在使用Play 2.0构建应用程序.
只要Play表单生成器不会生成本机http"删除"请求方法,它应该替换为"Get"或"Post".

@form(routes.Application.delete(id), 'class -> "topRight") {
    <input type="submit" value="Delete this computer" class="btn danger">
}
Run Code Online (Sandbox Code Playgroud)

根据Play示例,"Post"应该用于"删除"目的.虽然使用"Get"非常舒服,因为表单可以用简单的链接替换(特别是在单个页面上有这些链接的列表)

那么有什么理由使用POST来模拟DELETE吗?

rest scala playframework-2.0

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

SNS 调用的 AWS lambda 被限制,发送以重试并成功调用一次

我让 Lambda 订阅了 SNS 主题并将并发限制设置为 5。

一旦推送了 20 条 SNS 消息,Lambda 将运行 5 个实例并处理前 5 条 SNS 消息,这完全没问题。根据文档,其他消息将被视为受到限制并发送重试。再次似乎是预期的行为。

在这个阶段,我有 5 个 lambda 实例的 CloudWatch 日志,每个实例处理 1 条消息。还可以。

重试时间一到,我就会看到这 5 个实例进一步处理另一条消息,但是现在 5 个 lambda 实例中的每一个都有大约 8 个处理过的消息(应该有大约 4 个以导致 5 个实例处理总共 20 个消息)。实例处理了一些重试消息两次,两次都成功并且在不同的请求 ID 下。

似乎有时 SNS 消息可以传递两次,但鉴于上面的数字,看起来几乎每条消息都会传递和处理两次。

可以以某种方式避免这些吗?

Lambda 并发限制为 5,因为如果我推送 500 条消息,它将触发 500 个实例并在 lambda 创建连接时关闭我的 RDS。

所以再次提问 - 如果第一次处理成功结束,为什么重试消息会被处理两次。检测重复也很困难,因为它们每次都由不同的实例处理

concurrency amazon-web-services amazon-sns aws-lambda

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