Как я могу запустить одноразовый скрипт на Ruby в Heroku, который принимает данные из локального CSV и выводит их в локальный CSV? - PullRequest
0 голосов
/ 07 октября 2019

Я пытаюсь запустить сценарий с Rails runner на Heroku, используя локальный CSV в качестве входных данных и выводя некоторые результаты в локальный файл. Я могу сделать одно или другое, но не оба. Когда я пытаюсь сделать оба, он зависает или вывод пуст.

Этот скрипт зависает при обработке ввода:

cat input.csv | heroku run rails runner 'puts "hello world"' | tee output.txt

Этот скрипт не приводит к выводу:

cat input.csv | heroku run --no-tty rails runner 'puts "hello world"' | tee output.txt

В конечном итоге я пытаюсь запустить некоторый код для генерации записей базы данных на основе некоторого ввода, а затем вывести некоторые результаты в локальный файл CSV. Примерно так:

cat input.csv | heroku run --no-tty rails runner 'STDIN.each do |line|
  name, email, date = CSV.parse(line)
  new_record = Record.create
  puts "#{email},#{new_record.id}"
end
' -a my-app > output.csv

Что мне нужно сделать, чтобы это заработало?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...