作为过来人,有车和没车的感觉是不一样的,有了车,原来很多不敢想的事情就可以去做了,比如周末直接开车出游,活动范围也大了很多
#1 楼 @akirapanda 貌似 gitlab 只有 enterprise 版本才有 jenkins 插件吧
failed 原因是什么?是执行 perform 的时候抛了 exception?还是说任务直接就失败了?你这么描述无从判断啊
如果对数据访问性权限不是那么敏感的话,也可以在新系统中直接配置多个数据源,直接用 activerecord 访问旧数据,这样做好处是减少数据 marshal 的消耗,毕竟读取数据封装 json 快不过直连数据库,缺点自然是直接暴露数据库,权限什么的没法控制,看项目需要了
实在不行可以设置延时任务,不要立即执行 sidekiq 任务,等几秒再去看数据库,如果还没有,那就应该是环境配置什么的问题了,跟 commit 无关
unicorn reload 基本上也是瞬时更新啊
@rockuw 给你提了个 pr
#7 楼 @moioo 一般来讲 api 都是有个频率限制,但是云片牛逼在于居然不限频率,鼓励多线程 https://www.yunpian.com/start/faq.html#faq4
where().first 也可以
多系统交互方法很多了,rest 接口也可以,rabbitmq 消息也可以,thrift 也可以,再不行基于 redis 的订阅发布也可以,再老一点基于 soap 协议的 web service 也可以,主要是要看你这两个系统具体是什么状况,是什么语言实现?是不是异构平台,是不是不同主机,实时性要求怎么样,是否需要身份校验等等,考虑清楚以后在选方案
environments # Prepend all log lines with the following tags. config.log_tags = [ :uuid ]
active resource 本质上是对远端的 rest 接口做了封装,如果远端控制器有 devise 认证,需要远端控制器提供 json 接口的认证机制,而且需要 hack active resource 才行,有点麻烦。 不太优雅的解决方法是远端提供一个 clone controller,去掉 devise 认证,用其他方法进行校验,比如 ip 限制等
或者是服务器 ip 入了黑名单了?
云服务有一个好处,就是多台服务器共享服务,这样应用服务器上不装 redis,所有应用服务器就是平等的,任意一个上下线都不会影响其他服务器。如果 redis 和应用服务共用一个服务器的话就有主从之分了。 当然,也可以单开一个 ecs 做 redis 服务,但是这样成本更高
为啥要降 rails 版本啊
我升级 sidekiq 3.5.1,貌似内存还在蹭蹭涨,现在只能靠 monit 先顶着,等 4.0 版升级看行不行
lgn21st 现在这么胖了啊...我记得 3 年前的 rubyconf 还挺苗条的
#3 楼 @easonlovewan 做个模板来套不行吗?像你说的这种分支情况,可以在模板里面设定判断,实在不行,做两套模板调用也可以呀
这样拼 query str 看着太蛋疼了,而且很容易出错,可不可以做一个 jbuilder 的模板来生成 query_str?多个参数你可以传一个数组进去用 each 来渲染生成,也避免了加逗号分隔
实在是看不懂你想说什么
你的目标 database 是 mysql 还是 sqlite?他给了两个配置文件,分别对应 mysql 和 sqlite。 如果你用 mysql,就把 database.yml.mysql 重命名为 database.yml,放到 config 目录下面
development: &development
adapter: mysql2
host: localhost
username: root
password:
database: your_local_database
修改这部分的配置跟你 mysql 数据库配置一致就可以了
如果是用 sqlite,直接把 database.yml.sqlite 重命名为 database.yml,放到 config 目录下面,然后 db:setup 就可以了
如果还有问题,就把错误信息贴出来看看