嗯,应该是我的问题。我目前用这个方法暂时规避了这个问题。
Rails 5.2.4
有外部请求,延时问题应该没有。
怀疑是阿里云的 oss ruby gem 线程不安全。
实测两天,配置是用了 2 个进程,每个进程 4 线程。 每次跑完定时 Job 就内存飙升,重启之后又回复正常。 最初出现问题也是在当我把 sidekiq 从 1 进程 1 线程改为多进程多线程的时候。 后面还是在线程里面再开进程解决问题。代码如下: 来源出自某个网页,忘了链接了。
class ApplicationJob < ActiveJob::Base
# added for sidekiq memory leak
include Process
around_perform do |_job, block|
pid = fork do
block.call
end
waitpid(pid)
end
end
好的。
生成的富文本内容不正常。
<div>图片如下<br></div>
正常的应该包含"action-text-attachment"这个 tag.
<div>test<br><action-text-attachment sgid="BAh7CEkiCGdpZAY6BkVUSSIyZ2lkOi8vYmlvY3NpL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMz9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIPYXR0YWNoYWJsZQY7AFRJIg9leHBpcmVzX2F0BjsAVDA=--0d5219dfd2f4710ebec02f47988a22a2e82754bc" content-type="image/png" url="http://localhost:3000/rails/active_storage/blobs/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBDQT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--58520285e5ff5068ecb62c1b1acd1f98a1e32e03/Snipaste_2019-10-01_11-19-15.png" filename="Snipaste_2019-10-01_11-19-15.png" filesize="15048" width="466" height="112" presentation="gallery"></action-text-attachment></div>
完整日志输出如下:
development 和 production 的设置只有存储的目录不一致
我现在换成下面的实现了. 可以搜索单个字段,或者所有的字符串字段。
module Searchable
extend ActiveSupport::Concern
module ClassMethods
def search(search, attributes: nil)
if attributes.nil?
attributes = []
self.columns_hash.each { |k,v| attributes << k if [:string, :text].include? v.type }
end
# attributes = self.new.attributes.keys - ["id", "created_at", "updated_at"] if attributes.nil?
like_sql = attributes.map { |attr| %Q("#{attr}" LIKE ?) }.join("OR ")
where(like_sql, *(["%#{search}%"]*attributes.size))
end
end
end
没用过 ransack, 就想对所有 Model 实现简单的字符串搜索。
如果在 mac 上安装了 Postgres.app 的话
gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.6/bin/pg_config
谢谢,@blacktulip。还是存疑,为什么要绕一下,设置成这样。
为什么要这么处理呢?直接定义类方法不好?
config.action_mailer.smtp_settings = {
:address => "smtp.exmail.qq.com",
# :port => 587,
:port => 465,
:domain => 'exmail.qq.com',
:user_name => ENV['rrgene_username'],
:password => ENV['rrgene_password'],
:authentication => :login,
# :enable_starttls_auto => true
:ssl => true
}
ssl 对应 465 starttls 对应 587
赞 @knwang
赞。