好玩~
更新一下进展: 问题 1. 经询问 sidekiq 的原作者,他表示 brpop 这个操作是必须的,建议我使用单节点的 Redis。 问题 2. Resque 倒是没有用 brpop,但是调用了一个 keys 方法,这个方法公司的 Redis 也不支持【还没有尝试,估计一样会掉线】...
又想了两条路: 1.绕开 Redis,找个不依赖于 Redis 的队列 2.老老实实用单节点的 Redis
已经吐血斗升,个人更倾向于使用单节点的 Redis 的... 如果大家有用 sidekiq,可以说说你们的 Redis 出过问题没...
@rei @numbcoder @embbnux 3Q ALL,现在问题 1 的答案基本已经清晰了。
问题 2 的话,我估计只有两条路可以走了:
除非能找到一些证据证明单节点的 Redis 也是能够提供可靠服务的。
@nouse 现在主要考虑的是单节点 Redis 的可靠性,以及多个 Redis 方不方便后期的维护。
@karloku 也就是说,一个 web server,可能会有多个 redis 服务器,这种算比较普遍的情况咯?
@numbcoder 对的,我从同事那了解到的是,是有一个代理层做业务转发,遇到不支持的命令,这个代理层就直接掐断连接了。
那这种情况下,sidekiq 有可能直接调用rpop
么【我尝试修改了一下,没有报错了,但是 sidekiq 彻底不工作了】...
还有一种比较省事的办法,我申请一个单节点的 Redis,当时申请 Redis 的时候考虑到分布式的可能服务更稳定一些,单节点的万一服务挂了,就彻底挂了
LZ,你的主帖中c_d_1
目测要改为c_d_4
吧...
@dorentus eval
确实被 rescue 捕获住了,神奇
@qinfanpeng :plus1: 我就是好奇,因为syntax error
最容易复现,就尝试了下
感谢 LZ 的分享,提个小问题:
# base_controller.rb
# disable the CSRF token
protect_from_forgery with: :null_session
这里,既然已经独立出来了一个base_controller
,那是否可以直接把 CSRF 防御给关闭了:
skip_before_action :verify_authenticity_token
否则 Log 中每次请求都会出现一个 info 信息,很烦人:
Can't verify CSRF token authenticity
wiki中的 rvm 的安装方式似乎失效了
$ curl -L https://get.rvm.io | bash -s stable
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 184 100 184 0 0 106 0 0:00:01 0:00:01 --:--:-- 190
100 22721 100 22721 0 0 9823 0 0:00:02 0:00:02 --:--:-- 9823
Downloading https://github.com/rvm/rvm/archive/1.26.11.tar.gz
Downloading https://github.com/rvm/rvm/releases/download/1.26.11/1.26.11.tar.gz.asc
gpg: directory `/home/xxx/.gnupg' created
gpg: new configuration file `/home/xxx/.gnupg/gpg.conf' created
gpg: WARNING: options in `/home/xxx/.gnupg/gpg.conf' are not yet active during this run
gpg: keyring `/home/xxx/.gnupg/pubring.gpg' created
gpg: Signature made Tue 31 Mar 2015 05:52:13 AM CST using RSA key ID BF04FF17
gpg: Can't check signature: public key not found
Warning, RVM 1.26.0 introduces signed releases and automated check of signatures when GPG software found.
Assuming you trust Michal Papis import the mpapis public key (downloading the signatures).
GPG signature verification failed for '/home/xxx/.rvm/archives/rvm-1.26.11.tgz' - 'https://github.com/rvm/rvm/releases/download/1.26.11/1.26.11.tar.gz.asc'!
try downloading the signatures:
sudo gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
rvm 官网上的安装步骤的第一步里也提到,需要先执行:
$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
然后再
$ curl -L https://get.rvm.io | bash -s stable
我暂时是这么做的:
# A_REPOSITORY_URL为你fork的开源项目
git remote add upstream A_REPOSITORY_URL
# pull upstream的相应分支(比如master)
git pull upstream master
# 最后push回github上自己的repo
git push origin master
似乎能满足 LZ 的需求
belongs_to :A, foreign_key: "XXX"
试试这样呢?
Passenger 可以使用:
touch ./tmp/restart.txt
这种方式的机制是: Once Passenger has noticed that the file's timestamp has changed, it will restart the application.
我也遇到了同样的问题,你现在这样的写法其实已经可以了。可以用except
排除掉多余的路由。
Shallow Nesting 是把index
, new
, create
这三个 action 变为嵌套路由,剩下的不用嵌套。和我的需求稍稍有些差异。
我也遇到过这种问题,想了想觉得可能是因为我们用到了active_resource
,这就和网络情况有关系了。
你可以尝试也通过 sql 文件导入的形式在本地新建一个数据库,然后运行:
rake db:schema:dump
帮助你生成 schema.rb 文件
还在上班的坐等视频啦,希望能尽快看到~~
在 Gemfile 中指定你的 mysql 版本为 0.3.x,不要最新的 0.4.0 详细见这里: https://github.com/brianmario/mysql2/issues/675 https://github.com/rails/rails/issues/21544
不好看
@springwq 谢谢~已经 merge 啦~
@vmeng 不要关闭rails s
,你开了ngrok
,本地既可以用localhost:3000
打开,也可以使用ngrok
设置的地址打开啊~
平时我们运行了rails s
之后,都是打开localhost:3000
,你现在直接打开ngrok
设置的地址就好。
@gu_bonjour 等价于:
str.split.map {|s| s.capitalize}.join(' ')
唔...感觉可以写得更简单一些:
str.split.map(&:capitalize).join(' ')
我今天也遇到了同样的情况,换成了官方的源解决。
1.在广州的游戏公司... 2.有意往【杭州】发展...
我猜是网易咯
@zlx_star 赞文章,说得挺全!我就是看到参考资料中第二篇提到了ngrok
才去试用一下,发现还不错。
@ruby_sky 哦,我懂啦,同样零基础开始开发的话你说的方式应该更简单。 我因为是在 skinnyworm 的源码基础上修改出来的,很多坑他都踩完啦,所以也没花费太久时间。 看你开源了好多的微信相关的 Gem,赞!
Hi @ruby_sky 你这应该是微信公众平台的 OAuth 流程 我看链接/connect/oauth2/
后跟的是authorize
哦:
WeixinAuthorize.open_endpoint("/connect/oauth2/authorize?appid=#{app_id}&redirect_uri=#{redirect_uri}&response_type=code&scope=#{scope}&state=#{state}#wechat_redirect")
微信开放平台这一步的链接/connect/oauth2/
后面跟的是qrconnect
,略有区别。
我当初就是想找一个微信开放平台 omniauth strategy 的 gem,就像 omniauth-github、omniauth-linkedin 一样的,却没有找到,只找到了微信公众平台的,就只好自己实现了。