• Rails 6.1 升级记录 at 2020年12月25日
    1. 需要添加部署用户到 sudo,并配置无密码 sudo 运行
    2. 生成 puma.rb 本地运行 $ cap production puma:systemd:config puma:systemd:enable
    3. 生成的 puma.rb 如果需要修改 修改后 服务器端需要重启 systemd $ sudo systemctl daemon-reload $ sudo /bin/systemctl start puma
  • Sidekiq 内存泄漏 at 2020年01月11日

    嗯,应该是我的问题。我目前用这个方法暂时规避了这个问题。

  • Sidekiq 内存泄漏 at 2020年01月11日

    Rails 5.2.4

  • Sidekiq 内存泄漏 at 2019年12月26日

    有外部请求,延时问题应该没有。

  • Sidekiq 内存泄漏 at 2019年12月26日

    怀疑是阿里云的 oss ruby gem 线程不安全。

  • Sidekiq 内存泄漏 at 2019年12月26日

    实测两天,配置是用了 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 的设置只有存储的目录不一致

  • Rails 定制简单的搜索 at 2017年11月24日

    我现在换成下面的实现了. 可以搜索单个字段,或者所有的字符串字段。

    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
    
    
  • Rails 定制简单的搜索 at 2017年06月24日

    没用过 ransack, 就想对所有 Model 实现简单的字符串搜索。

  • [已解决] gem install pg 报错 at 2017年01月05日

    如果在 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

  • 赞。