[REDIS] 로드하지 않고 루비 resque 환경 레일
REDIS로드하지 않고 루비 resque 환경 레일
나는 잘 작동하지만, 너무 느린입니다 resque 노동자가있다. 이 주된 이유는 난 그냥 Heroku가 및 지불을 사용하고 나는이 항상 실행중인 근로자를 보관하지 않습니다 (최대로드 액티브를 사용하여 적어도 10-20초 걸리는 전체 환경을로드하는 데있다 시간의 노동자)를 실행합니다. 나는 외부 웹 사이트에서 잡아 및 구문 분석 데이터에 resque 노동자를 사용하고 내 데이터베이스에 데이터를 덤프하고있다.
내 질문은 내가 DataMapper를 사용하는 대신 레일을 사용하지 않도록하는 방법을 다시 작성해야하는지 여부입니까? 액티브보다 빠르게로드합니다 다른 또는 뭔가.
내가 코드를 추출해야하는 경우 또는 다시 응용 프로그램에 외부 데이터로 무엇을해야하고, 노동자의 그것을 밖으로 이동 파악 (액티브를 사용)?
의미가 있기를 바랍니다.
해결법
-
==============================
1.나는 같은 문제를 가지고있다. 설치 레이크 작업 : 당신은 설치 레이크 resque에 환경을 수
나는 같은 문제를 가지고있다. 설치 레이크 작업 : 당신은 설치 레이크 resque에 환경을 수
나는이 시도. 내 레이크 resque 작업을 가정하는 것은 lib 디렉토리 / 작업 / resque.rake에
require "resque/tasks" task "resque:setup" do root_path = "#{File.dirname(__FILE__)}/../.." db_config = YAML::load(File.open(File.join(root_path,'config','database.yml')))["development"] ActiveRecord::Base.establish_connection(db_config) require "#{root_path}/app/workers/photo_downloader.rb" #workers #Dir.glob("#{root_path}/app/models/*").each { |r| puts r; require r } #require all model require "#{root_path}/app/models/photo.rb" # require model individually end
나는 레일 환경을 필요로하는 종이 클립 보석을 완전히 성공하지 사용할 수 있기 때문에
-
==============================
2.레일 '부트 스트랩 정말 느리다; 이 재시작에 대한 특정 시간이 될 때까지 계속적인 실행하기위한 것입니다 (가장 가능성이 일부 메모리 누수를 제거하기 위해, 소프트웨어 버그 - 무료로하지 않습니다), 그리고 하나 개의 요청에 대해 발사되는 사이트로 사용할 수 없습니다 및 다음 종료합니다.
레일 '부트 스트랩 정말 느리다; 이 재시작에 대한 특정 시간이 될 때까지 계속적인 실행하기위한 것입니다 (가장 가능성이 일부 메모리 누수를 제거하기 위해, 소프트웨어 버그 - 무료로하지 않습니다), 그리고 하나 개의 요청에 대해 발사되는 사이트로 사용할 수 없습니다 및 다음 종료합니다.
사용 그런 종류의 더 스크립트를 닮았다. 당신이 브라우저를 실행해야하는 경우, 당신은 쉽게 페이지를 작성하고 스크립트 또는 유사한 추상화 계층 (나는 그것이 레일의 사용 가능한 외부 생각)에서 액티브를 사용하는 Erubis 같은 것을 사용할 수 있습니다. 나 자신, 작은 작업, 난 그냥 Mysql2를 사용합니다.
-
==============================
3.active_record 얻고 레일 응용 프로그램없이 당신에게 다른 보석에 들러를 사용합니다.
active_record 얻고 레일 응용 프로그램없이 당신에게 다른 보석에 들러를 사용합니다.
require 'rubygems' require 'logger' require 'active_record' require 'bundler' require "active_support" require "spreadsheet" require 'net/ping' require 'net/http' Bundler.setup Bundler.require(:default) if defined?(Bundler) $config_logger = Logger.new("./log/dev.log") class Dbconnect def initialize @settings = YAML.load_file('./config/database.yml')["development"] @adapter = @settings["adapter"] if @settings["adapter"] @database = @settings["database"] if @settings["database"] @pool = @settings["pool"] if @settings["pool"] @timeout = @settings["timeout"] if @settings["timeout"] end def connect_to_db ActiveRecord::Base.establish_connection( :adapter => @adapter, :database => @database, :reconnect => @reconnect, :pool => @pool, :timeout => @timeout) $config_logger.info "\n db Connected: to => #{@database} " end end end } Example Gemfile : source "http://rubygems.org" gem 'mail' gem "escape_utils" gem 'json',:require => "json" gem 'json_pure' gem 'resque' gem 'resque-scheduler' gem 'redis-namespace' gem 'resque-status' gem 'rake' gem 'em-udns' gem 'sqlite3' gem 'spreadsheet' gem 'activerecord', '3.2.1', :require => "active_record" gem 'net-scp', :require => 'net/scp' gem 'net-sftp', :require => 'net/sftp' gem 'net-ssh', :require => 'net/ssh' gem 'dir' gem 'amatch' gem 'haml' gem 'net-ping' gem install bundler
물건의 나머지 : 설치 번들입니다.
from https://stackoverflow.com/questions/6898499/ruby-resque-without-loading-rails-environment by cc-by-sa and MIT license
'REDIS' 카테고리의 다른 글
[REDIS] 어떻게 봄 데이터 레디 스 저장소와 동적 쿼리를 구축? (0) | 2020.01.20 |
---|---|
[REDIS] 웹 서비스 아키텍처 : 레디 스 (캐시 등) 및 지속성에 대한 PostgreSQL을 (0) | 2020.01.20 |
[REDIS] 어떻게 레디 스 클러스터의 패턴과 일치하는 삭제 키 (0) | 2020.01.20 |
[REDIS] 푸른 레디 스 캐시 - GET 호출에 시간 제한 (0) | 2020.01.20 |
[REDIS] laravel 5.5 Predis "집계 / RedisCluster.php의 풀에서 사용할 수 없음 연결 : 337" (0) | 2020.01.20 |