小编Jam*_*msi的帖子

延迟工作重启+ Capistrano最佳实践

我只想了解使用capistrano重新启动延迟作业工作人员的最佳实践.我有一大堆工人处理长期工作(最多10分钟).

在部署期间我遇到两种情况,而工人正在处理 - 

1)

我在部署之前停止延迟作业工作者:重新启动任务并在deploy:restart任务之后再次启动它们.

但在这种情况下,它将不会重新启动我的应用程序,直到延迟的作业完成(这可能没问题 - 但是封面部署脚本确实位于那里直到作业完成并且它可以停止所有工作人员)然后继续应用程序重新启动任务.

2)我也尝试在重启任务后停止/启动delayedjobs worker - 但是这导致了各种各样的戏剧,其中任务将暂停而不等待delayedjobs表将它们列出并分配给具有不具有PID的PID的工作者存在!

还有其他选择吗?或者我被迫如方案1中所提到的那样等待.

非常感谢.

编辑:我刚刚实现了方案1 ..它不等待!即使没有完成,停止任务也会强行杀死我的工作人员!

 ** [out] delayed_job: trying to stop process with pid 9630...
 ** [out] delayed_job: process with pid 9630 won't stop, we forcefully kill it...
 ** [out] 
 ** [out] delayed_job: process with pid 9630 successfully stopped.
Run Code Online (Sandbox Code Playgroud)

capistrano ruby-on-rails delayed-job ruby-on-rails-3

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

Rails缓存分页集合

只是对缓存分页项目集合的最佳方法进行一些研究.目前使用jbuilder输出JSON并且一直在玩各种cache_key选项.

我见过的最好的例子是使用最新记录的updated_at加上集合中的项目数量.

def cache_key
      pluck("COUNT(*)", "MAX(updated_at)").flatten.map(&:to_i).join("-")
end
Run Code Online (Sandbox Code Playgroud)

这里定义:https://gist.github.com/aaronjensen/6062912

但是这不适用于分页项目,我的集合中总共有10个项目.

这有什么变通方法吗?

pagination caching ruby-on-rails russian-doll-caching

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

RS2008背景图像尺寸

因此,我正在尝试创建一个能够使用Reporting Services 2008预填"政府表单"的报表.

现在这一切都归结为每个人似乎都有的96 DPI问题.

假设我有300 DPI高分辨率JPG文件,我想将其用作报告的背景图像.(这个jpg实际上是对我试图预填的政府形式的扫描)

当您设置矩形对象(甚至整个报表正文)的"填充"选项时 - 您没有选项,只能将其设置为原始大小.我似乎无法使图像与矩形的大小成比例.

如果我将图像添加为..."图像对象" - 我得到了我想要的正确的震撼恐怖 - 因为我可以选择"适合比例"的尺寸选项,然后根据需要调整我的"图像对象".

但是 - 您无法在图像对象的顶部覆盖文本框.因为我的图像对象包含我试图从数据集预填充的字段 - 它失败了.

有任何想法吗?

reportingservices-2005 reporting-services ssrs-2008

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

Ember.js + Handlebars定制助手

我正在尝试在Handlebars中实现一个简单的条件语句,该语句根据我的控制器中的属性进行更改.

我设法想出来了;

Handlebars.registerHelper("businessVerificationState", function(state, block) {
  var value = Ember.getPath(this, "state");
  if (value == state) {
    return block(this);
  }
});
Run Code Online (Sandbox Code Playgroud)

App.businessController.business是指我创建的模型对象,"state"是属性.下面是模板.

<script type="text/x-handlebars">
  {{#with App.businessController.business}}
    {{#exampleState "test1"}}
      <p>Test 1</p>
    {{/exampleState}}

    {{#exampleState "test2"}}
      <p>Test 2</p>
    {{/exampleState}}
 </script>
Run Code Online (Sandbox Code Playgroud)

这一切都有效.除非我的模型属性发生变化.从webkit中的控制台..如果我输入..

business.set("state","test2"); 例如 - 没有任何改变.

如果我使用其他标准车把语句,如IF或UNLESS - 内容会根据我更新模型属性的时间而变化.

显然我正在做一些令人难以置信的错误,并希望得到任何帮助.

ruby-on-rails handlebars.js ember.js

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