嗯呐 已经 提了 pr
https://github.com/ruby-china/homeland/pull/1032
xxx 那里 做一个异步处理 交给 active_job 处理
或者就像 @w7938940 同学说的那样 用 sidekiq-scheduler
使用 cocoon 的时候注意下,他是直接在页面显示的时候就把 subform 的信息加载进来了,也意味着,如果你在 subform 上有 after_initialize 的话 它只生效一次 (随机,时间戳 都是在页面生成的时候出现,再添加 sub model 时就只是加载 js 里的信息 )
凑巧最近两天试了 active_storage. 如果是使用直传的话需要注意一下 cors 的限制,
aws 以及类似的服务 (digitalocean 的 spaces),在设置 bucket 的 cors 的时候 ,需要将域名允许跨域,且其 headers 允许里加入* 后才行.(我是在 digitalocean 测的,他的 cors custom headers 似乎只能配* 而不能配置 aws-*)
ps 我觉得最炫酷的还是提供不同 storage 的同步功能。
楼上正解
如果是用 capistrano 部署的话 记得在 Capfile 里把 precompile 拿掉
哈哈,去上海了呀
直传稍微有点不好的就是没办法做大小限制,再就是有时候云服务商回调的时候有存在回调失败的情况,之后就很难处理这种回调失败的数据
如果单传图片,或者不需要处理的文件,则直连非常好使
哦?那我理解的 puma 的 threads 配置似乎是有问题了 有个 min max 同时我也看到了有些情况数据库连接突然的减少和增多 我还以为是回收和释放了呢
thread 也是会回收的
capistrano 用的多一点
用 docker 也不赖
我曾经也遇到过这个问题,
ruby 的 gc 我是这么理解的
每次内存使用完毕后,会标记为 可释放,但是什么时候释放,就得看 ruby 的 gc 和操作系统的释放条件了 我记得在某篇文章记得 ruby 启动有个参数可以控制 gc 的启动条件,也可以在编译 ruby 的时候写进去
ps 假设一次消耗 100M 按照题主的 puma 配置:4workers, 每个 worker 8~16 核 跑满就需要 4 * 16 * 100M = 6.4G, 但是 puma 我当时选择的是 worker 的工作方式,回收 threads 是要靠主线程的, 当主线程认为压力过大的时候,worker threads 是来不及销毁的,直接拿来处理下一条
如果是 4 cpus / 8G 内存,就刚好够用,但是如果这台机器跑了其他的东西,比如 db, redis 啥的,估计服务就挂了
我遇到的实际情况是
每台机器本身访问量在 1000rpm 之后我们有个黑白名单,名单本身不小,大概 2w 条,这些数据不稳定,易变。 之后写入的数据要过这个名单,过一次加上七七八八的计算,要 2 秒. 一个访问就消耗 20M 左右的内存,,但是这种过滤操作本身量不多 之后 puma 就占了 1.5 G, 2 cpus/4G 运行个 1-2 小时,服务器内存就到 85%, 当时研究了好久,最后发现 puma 开的 threads min 和 max 都设置的 30.
后来一算 觉得 thread 似乎很不合理,网站大部分数据是在 30ms 之内就请求完的, 其实我平均每个访问控制在 100ms,10 个 threads 在每个 worker 下, 这样 2 workers 我就可以承受 6000rpm 的访问, 之后我就修改了 threads 成为 min 5 max 15, killer 设置成 1.5 G 内存,90% 启用,基本很少看到 killer 运行
西南地区的 ruby 都集中在成都啊 重庆好荒凉的感觉
现在用第三方服务,都是直接看 rest api 之后自己实现成 gem。。。
如果实在不行 但是又非常有必要访问 这招 通吃 但是 ssl 的意义就没了
require 'openssl'
OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE
少年 阿里 centos 6.x 吧?升级下你的 openssl
我最喜欢在简历上看到“熟练掌握” 、 “精通”
一般来说 包括发送的数量级 邮件组 规则等
哟 爬虫扒视频啊 记得设置 timeout
更新可能是故障了,我也是出这个东西
小哥 下次代码仓库可以不用提交 gem 本身的
本地调试的话,直接使用 rake install
即可
要推 gem 的时候
rake build
, 之后在 pkg 文件夹下面找
记得把 pkg 写在 .gitignore 里
xx 有你更精彩
这个域名 会跟 testin 打官司吧姐姐
从 atom 切到 visual studio code 几个月了,atom 太太太太太太太卡了 当然更别提 jb
哥哥,配个 newrelic 看看你这个访问 调用了多少次数据库就知道了
rspec 和 minitest 哪个都 ok 初学无所谓 php 才是最好的语言
微信登录 mock 不好做 web mock 用 webmock 这个 gem
sidekiq 的 work 你就测 work 的逻辑就好了
很好奇 tower 这么大的体量的应用 应该是典型的 monolithic
是靠 Rails Engine 拆业务么
随便打听下 彩程微服务了么
写过控制 ali docker 和美团云的 可以交流下
先检测 passenger 是否正常工作
我隐约记得 passenger 好像和 nginx 搭配要重新编译一下
不嫌弃的话 试试 puma
这玩意对浏览器版本要求极其高
记着一条就行 routes.rb 本身也是 ruby 文件 遵守 ruby 的语法