레일즈 애플리케이션에서 일부 비 - 레일 - 모델 테이블을 통합하려고합니다. 모두 매우 좋게 동작, 내가 모델을 설정하는 방법은 다음과 같습니다Rails 애플리케이션 내에서 외부 변경 사항에 대한 데이터베이스 테이블을 모니터링하십시오.
class Change < ActiveRecord::Base
establish_connection(ActiveRecord::Base.configurations["otherdb_#{RAILS_ENV}"])
set_table_name "change"
end
이 방법은 내가 지금 몇 가지를 실행하고 싶습니다 등 find
기존의 모든 기록을 위해 Change
모델을 사용할 수 있습니다 레코드가 테이블에 추가 될 때 일종의 알림. 모델은 Change.new
및 Change.save
을 통해 생성되지 않으므로 ActiveRecord::Observer
을 사용하는 것은 옵션이 아닙니다.
새 레코드가 추가 될 때마다 실행되도록 Rails 코드를 얻을 수있는 방법이 있습니까? 나는 delayed_job
을 보았지만 그걸 어떻게 설정해야하는지에 관해서는 내 머리를 터뜨릴 수 없었다. 나는 작업이 마지막으로 실행 된 이후에 생성 된 모든 행을 선택하고 각 행에 대해 각각의 Rails 코드를 호출하는 cron-job을 중심으로 전개되는 것을 상상합니다.
업데이트 현재 Javan의 Whenever을 보면 'cron part에서 레일 코드 실행'문제를 해결할 수있는 것 같습니다.