sql >> データベース >  >> NoSQL >> Redis

Resque、Resque Server、RedisToGoとHeroku

    あなたのProcfile タイプミスがあります。なぜ2つのwebがあるのですか プロセス?私は1つに固執し、ユニコーンを使用します 。

    web: bundle exec unicorn -p $PORT -c ./config/unicorn.rb

    ユニコーンを使用する場合 resque resqueを定義する必要があります redis 毎回の接続ユニコーン フォーク。関連するファイルは次のとおりです。

    config / initializers / redis.rb

    uri = URI.parse(ENV["REDIS_WORKER"])
    REDIS_WORKER = Redis.new(host: uri.host, port: uri.port, password: uri.password)
    

    config / initializers / resque.rb

    Resque.redis = REDIS_WORKER
    

    config / unicorn.rb

    before_fork do |server, worker|
      if defined?(Resque)
        Resque.redis.quit
        Rails.logger.info("Disconnected from Redis")
      end
    end
    
    after_fork do |server, worker|
      if defined?(Resque)
        Resque.redis = REDIS_WORKER
        Rails.logger.info("Connected to Redis")
      end
    end
    

    完全なunicorn.rbについては、この要点を参照してください。




    1. マングースでObjectIdを生成するにはどうすればよいですか?

    2. redisで多対多の関係を築く方法

    3. mongoDBの文字列フィールド値の長さ

    4. Celery/Redisの同じタスクが複数回並行して実行されている