Я пытаюсь запустить сценарий с 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
Что мне нужно сделать, чтобы это заработало?