0

iTunes Enterprise Partner Feed은 "iTunes 및 App Store의 전체 메타 데이터 세트에 대한 데이터 피드"이며 "관계형 데이터베이스를 구축하는 데 필요한 파일 또는 독립 실행 형 플랫 파일로 제공되는 두 가지 형식으로 사용할 수 있습니다. 국가 및 미디어에 따라 달라질 수 있습니다. "부분적인 데이터베이스 덤프를 레일즈 앱으로 매일 가져 오는 것이 가장 좋습니다.

피드 (기본적으로 플랫 파일로 내보내기 됨)에서 데이터를 사용하고 내 자신의 모델 개체 (사용자, 활동 등)를 피드 (앱, 개발자 등)가 제공 한 데이터에 연결할 수 있어야합니다. 데이터는 주간 전체 수출 일일 증분 내보내기로 제공됩니다.

  1. 내 레일 응용 프로그램에서 모든 모델을 만들고 cron을 사용하여 모델을 통해 매일 직접 내 응용 프로그램의 데이터베이스에/업데이트 레코드를 삽입 할 내 자신의 수입을 쓰기 : 방법이 구현하는

    나는이 개 아이디어가 나는 전혀 다른이 데이터베이스를 유지하고 내 자신의 응용 프로그램은 모든 것을 유지하기 위해 # 1

내 순진하게 접근 방식을 소모합니다 REST API를 열어

  • (응용 프로그램, 개발자 등)을 만들었습니다 Rails 애플리케이션은 EPF에서 얻은 데이터의 변경 사항을 관찰 할 수 있어야한다는 필요성에 기반합니다. 예를 들어 앱의 설명이 업데이트 된 경우 해당 업데이트를 추적하기 위해 관찰자를 통해 Activity 개체를 만들 수 있기를 원합니다.

    한편 # 2은 내가 만든 여러 가지 앱에서 소비 할 수있는 독립형 API를 데이터에 생성하기 때문에 더 나은 접근 방법이라고 생각합니다. 다른 한편으로, 필자는 내 모델에서 직접 관찰자를 사용하지 않고 데이터 변경 알림을 수행하는 방법을 확신하지 못합니다. 또는, 심지어 내 자신의 모델과 함께 사용할 수있는 객체 지향 방식으로 데이터를 소비하는 방법. 마치 앱의 데이터에 대해 API를 쿼리하고 적절한 액티브 레코드 개체를 만든 다음 내 모델에 연결될 수 있도록 여러 가지 작업을 반복하는 것처럼 느껴집니다.

    이 작업을 수행하는 표준 방법이 있습니까? 어떤 포인터?

    편집 : 레일즈 엔진은 흥미롭지 만, 각 앱이 데이터를 별도로 소비하고 삽입해야 함을 의미합니다. 그렇게 말리지 않는 군. REST API가 갈 길이 멀어진 것처럼 들립니다. API에서 Active Record 모델로의 격차를 해소하는 방법을 모르겠습니다.

  • 답변

    0

    레일즈 엔진이 이에 적합 할 수 있습니다. Rails Engine 젬을 생성하고 모든 모델과 레이크 작업을 추가하여 데이터를 사용할 수 있습니다. 그런 다음이 보석을 사용하는 모든 앱에이 보석을 포함시키고 보석을 포함하는 API 앱을 만들 수 있습니다. 보석과 상호 작용하는 다른 앱에 옵서버를 만들 수 있어야합니다.

    나는 서로간에 상호 작용하는 꽤 많은 응용 프로그램을 가지고 있으며이 접근법은 나에게 잘 맞습니다. 나는 하나의 애플 리케이션 데이터를 소비하는 모든 엔진을 포함하고 모든이 응용 프로그램에서 내 cronjobs 실행합니다. 내 앱이 다른 데이터베이스와 통신 할 수있게 해주는 use_db 플러그인을 사용합니다. 각 엔진은 종속성으로 use_db을 가지고 있으며 gem 내에 데이터베이스 구성을 유지합니다.한 가지 예 :

    1. 엔진 보석 = transaction_core는
    2. 이 보석은 소스에서 트랜잭션 데이터를 소비하고 내 트랜잭션 데이터베이스에 삽입합니다.
    3. 주옥은 내 중앙 응용 프로그램에 포함되어 있으며 나는 크론 내가 트랜잭션 데이터를 사용 할 몇 가지 다른 응용 프로그램에서이 보석을 포함
    4. 에 레이크 작업을 사용하여 트랜잭션 데이터를 당깁니다. 엔진이 자동으로 모델과 데이터베이스 구성을 앱에 추가하기 때문에 앱에서 모델을 사용하는 데 필요한 추가 작업이 없습니다.

    내 엔진이 포함 된 앱에서 옵저버를 사용하지 않았지만 작동하지 않는 이유는 없습니다. 엔진을 사용하면 모델이 app/models 디렉토리에있는 것처럼 작동합니다. 희망이 도움이!

    겸손한 Rubyist는 엔진이 포함되어 레일 3 플러그인에 좋은 4 부 튜토리얼이 있습니다
    http://www.themodestrubyist.com/2010/03/05/rails-3-plugins---part-2---writing-an-engine/

    +0

    나는 이것이 내가 무엇을 찾고있다 매우 확실하지 않다,하지만 정말 처음 들었어요입니다 레일 엔진. 나는 그들을 더 자세히 보려고 노력할 것이다. 감사. – markquezada

    +0

    엔진은 레일즈 3의 가장 좋아하는 기능 일 것입니다. 기본적으로 다른 앱에 포함시킬 수있는 미니 레일 앱입니다. 이 접근법은 # 1과 같지만 모델 당 다른 데이터베이스 연결을 처리 할 수있는 플러그인을 사용하는 한 # 2와 같은 여러 응용 프로그램에서 사용할 수 있습니다. – johnmcaliley

    +0

    기존 보석을 사용하여 가져 오기를 할 수 있습니다. https://github.com/igorkasyanchuk/rails_db –

    관련 문제