Как ожидать системы, управляют для окончания

Я преобразовываю файл CSV XLS 2 с системной командой в Ruby.

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

Кто-то может сказать мне, если возможно позволить Ruby ожидать правильное количество времени системной команды для окончания?

Прямо сейчас я использую:

sleep 20

но если это займет больше времени однажды, это не правильно, конечно.

Что я делаю конкретно это:

#Call on the program to convert xls
command = "C:/Development/Tools/xls2csv/xls2csv.exe C:/TDLINK/file1.xls"
system(command)
do_stuff

def do_stuff
#This is where i use file1.csv, however, it isn't here yet
end
8
задан the Tin Man 10 March 2016 в 23:10
поделиться

1 ответ

Попробуйте использовать потоки:

command = Thread.new do
  system('ruby programm.rb') # long-long programm
end
command.join                 # main programm waiting for thread
puts "command complete"
0
ответ дан 5 December 2019 в 10:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: