2012-02-08 4 views
7

heroku에서 레코드를 만드는 데 사용할 가져 오기 유틸리티가 있습니다.heroku rake 작업 중에 로컬 파일로드

리포지토리로 파일을 확인하지 않고도 내 개발 컴퓨터의 파일에서 데이터를 가져 오는 데이 파일을 사용하고 싶습니다. 레이크 작업이나 heroku gem으로이 작업을 수행 할 수있는 방법이 있습니까?

시간이 초과 될 수있는 웹 양식으로 파일을 업로드하거나 S3에 파일을 저장할 수 있지만 다소 과도한 것 같습니다.

쉬운 방법은 없나요?

답변

2

아니요, heroku run (삼나무를 사용하고 있다고 가정 할 때 레이크 작업 포함)에서 실행중인 로컬 파일에 액세스 할 수 없습니다.

나는 다음과 같은 접근 찍은 :

  • 종자 데이터가 REPO에 저장을하고 seed_fu 사용

  • 비 씨앗 데이터가 웹 양식을 통해 S3에 업로드로드 및 연결 (약간의 잔인한 부분이 있지만 다른 곳에 이미지 용으로 사용했다.) DataFile 모델을 사용했다. 그런 다음 파일을 처리하기 위해 레이크 작업이나 지연된 작업자를 사용할 수 있습니다. 그것은 확실히 약간의 오버 헤드입니다.

5

표준 입력기에서 읽을 수 있습니다.

+2

은 무엇 작업 정의 내에서이 파일 데이터에 액세스하기위한 구문 것입니까? – zrisher

+1

'$ stdin.read'가 유용합니다. – dojosto

1

저는 입력 데이터에 요점을 사용하는 것이 가장 간단합니다. 데이터를 복사하여 요지에 붙여 넣은 다음 원시 요령에 대한 링크를 레이크 작업의 매개 변수로 전달합니다. 그런 다음 레이크 작업에서 원격 파일을 엽니 다. 예를 들어

, 당신은 YAML 파일을로드하는 경우 :

YAML.parse(open(file_name)).to_ruby.with_indifferent_access 
관련 문제