我想在routes.rb文件中创建一个范围,以便在生产环境中仅路由某些URL.你如何使用Rails 3路由的条件?我需要做的就是基于Rails.env.production?
真实来限制这些规则,但我不确定语法.
我在Heroku上托管了一个Rails 3.2应用程序,每天在Rails应用程序中获得2-3次超时.这些不是 H12请求超时,而是在Rails堆栈中某处发生的超时.因此,它们实际上会在网站上生成异常并显示在我的Airbrake日志中.
超时发生似乎是完全随机的; 有时它在Formtastic之类的宝石中,或在HAML视图中,或在ActiveRecord代码中.你可以在这里看到一些回溯的例子:https://gist.github.com/dpmccabe/5238273
这个站点没有太多流量,并且在两个动态游戏中运行良好(尽管由于Adept Scale附加组件它们会自动扩展).HTTP_X_HEROKU_QUEUE_WAIT_TIME标头通常是低或零,所以我不认为这是一个路由问题.我甚至尝试从Thin切换到Unicorn没有效果(我的unicorn.rb显示在上面的要点).
这些超时异常似乎在整个应用程序中随机发生的事实并没有让我继续下去.我确实有New Relic,但我不确定如何调试这个.有任何想法吗?
考虑data.frame上的标准分组操作:
library(plyr)
library(doMC)
library(MASS) # for example
nc <- 12
registerDoMC(nc)
d <- data.frame(x = c("data", "more data"), g = c("group1", "group2"))
y <- "some global object"
res <- ddply(d, .(g), function(d_group) {
# slow, complicated operations on d_group
}, .parallel = FALSE)
Run Code Online (Sandbox Code Playgroud)
通过简单地编写.parallel = TRUE
来利用多核设置是微不足道的.这是我最喜欢的plyr功能之一.
但是,随着plyr被弃用(我认为)并且基本上被dplyr,purrr等取代,并行处理的解决方案变得更加冗长:
library(dplyr)
library(multidplyr)
library(parallel)
library(MASS) # for example
nc <- 12
d <- tibble(x = c("data", "more data"), g = c("group1", "group2"))
y <- "some global object"
cl <- create_cluster(nc)
set_default_cluster(cl)
cluster_library(cl, …
Run Code Online (Sandbox Code Playgroud) 我有一个我用Capistrano部署的Rails应用程序.我在服务器上安装了RVM,因为我想使用更新版本的Ruby并将其添加到我的deploy.rb文件中(根据我发现的各种说明):
$:.unshift(File.expand_path('./lib', ENV['rvm_path']))
require 'rvm/capistrano'
set :rvm_ruby_string, '1.9.2'
set :rvm_type, :user
Run Code Online (Sandbox Code Playgroud)
当我跑步时cap deploy
,会发生这种情况:
[staging.example.com] executing command
** [out :: staging.example.com] /usr/local/lib/site_ruby/1.8/rubygems.rb:779:in `report_activate_error': Could not find RubyGem bundler (>= 0) (
** [out :: staging.example.com] Gem::LoadError)
** [out :: staging.example.com] from /usr/local/lib/site_ruby/1.8/rubygems.rb:214:in `activate'
** [out :: staging.example.com] from /usr/local/lib/site_ruby/1.8/rubygems.rb:1082:in `gem'
** [out :: staging.example.com] from /usr/bin/bundle:18
command finished in 801ms
*** [deploy:update_code] rolling back
* executing "rm -rf /home/example/staging.example.com/releases/20110714180125; true"
servers: ["staging.example.com"]
[staging.example.com] executing command
command finished in 895ms …
Run Code Online (Sandbox Code Playgroud) 我有一个带有弯曲链接的 d3 (v3) 力网络,如下所示:
我想要完成的是让链接的textPath
元素是水平的,因为它们是数字,并且“81”需要看起来与“18”不同。我也希望有某种白色阴影/外发光/背景,因为我将它们直接放在链接上。我现在有一个白色的笔画,但它的效果不太好,因为有时一个数字的笔画会侵入它旁边的数字。
这里有一个可重复的例子,我承认它是从其他 SO 答案拼凑而成的:https : //jsfiddle.net/2gbekL7m/
代码的相关部分是:
var link_label = svg.selectAll(".link_label")
.data(links)
.enter()
.append("text")
.attr("class", "link_label")
.attr("paint-order", "stroke")
.attr("stroke", "white")
.attr("stroke-width", 4)
.attr("stroke-opacity", 1)
.attr("stroke-linecap", "butt")
.attr("stroke-linejoin", "miter")
.style("fill", "black")
.attr("dy", 5)
.append("textPath")
.attr("startOffset", "50%")
.attr("xlink:href", function(d, i) {
return "#link_" + i;
})
.text(function(d, i) {
return d.n;
});
Run Code Online (Sandbox Code Playgroud)
有谁知道如何通过固定方向和添加背景框来提高链接标签的可读性?
我有一个用R plumber构建的API ,它使用RPostgreSQL和pool连接到PostgreSQL数据库(尽管如果我使用的是Shiny应用程序,这也适用):
# create the connection pool
pool <- dbPool(
drv = PostgreSQL(),
host = Sys.getenv("DB_HOST"),
port = 5432,
dbname = "db",
user = Sys.getenv("DB_USER"),
password = Sys.getenv("DB_PASSWORD")
)
# start the API
pr <- plumb("plumber.R")
# on stop, close the pool
pr$registerHooks(
list("exit" = function() { poolClose(pool) })
)
Run Code Online (Sandbox Code Playgroud)
我想每天导入新数据。最简单的方法是创建一个新数据库并将其推广到生产环境:
CREATE DATABASE db_new;
-- create the tables
-- bulk-insert the data
SELECT pg_terminate_backend (pid) FROM pg_stat_activity WHERE datname = 'db';
DROP DATABASE db; …
Run Code Online (Sandbox Code Playgroud) 我有一个Authlogic登录表单,:remote => true
如果用户/密码无效,它会使用RJS模板进行一些内联验证.这工作得很好,但是当凭证是有效的,它不正确别处重定向.
这是响应表单输入的控制器:
class UserSessionsController < ApplicationController
respond_to :html, :js
before_filter :require_no_user, :only => [:new, :create]
before_filter :require_user, :only => :destroy
def new
@user_session = UserSession.new
end
def create
@user_session = UserSession.new(params[:user_session])
respond_to do |format|
if @user_session.save
flash[:notice] = "Login successful!"
format.html { redirect_to account_url }
else
format.js
end
end
end
def destroy
current_user_session.destroy
flash[:notice] = "Logout successful!"
redirect_to root_path
end
end
Run Code Online (Sandbox Code Playgroud)
该format.js
部分有效但如果用户/密码良好(format.html
),则没有任何反应.但是,如果我查看development.log,它会请求account_url页面.它不会在浏览器中重定向您.我认为它通过AJAX返回帐户页面,我真的只想要一个正常的重定向.
表单的HTML是这样的:
<%= simple_form_for(
:user_session, @user_session,
:url …
Run Code Online (Sandbox Code Playgroud) r ×2
ajax ×1
authlogic ×1
capistrano ×1
d3.js ×1
dplyr ×1
force-layout ×1
heroku ×1
javascript ×1
multidplyr ×1
plumber ×1
plyr ×1
postgresql ×1
r-dbi ×1
routing ×1
rpostgresql ×1
ruby ×1
rvm ×1
tidyverse ×1
timeout ×1