Я хочу создать файл, используя (возможно) библиотеку Ruby's tempfile
, однако я хочу, чтобы этот файл длился около 30 минут.Как создать временный файл и удалить его через определенное время
Например:
require 'tempfile'
def create_tempfile
temp = Tempfile.new('file')
temp.write('test')
path = temp.path
strt_time = Time.now
end_time = Time.now - start_time
if strt_time - end_time <= 1800
temp.unlink
else
# do something to make the file last 30 minutes
end
end
Я не уверен, что выше будет делать что-либо, но он получает через точку. Итак, мой вопрос: есть ли способ, которым я могу иметь файл, будь то temp
или текст, последний всего тридцать минут, а затем удаляться или стираться? В настоящее время я запускаю Windows 7
'sleep (60 * 30)' будет делать это. Поместите его в отдельный поток, если у вас есть другие вещи, которые нужно сделать, пока вы ждете, когда файл будет удален, но, как пишет @Nabeel, «cron» - это путь сюда. –
Зачем вам этот файл в течение 30 минут? Чего вы пытаетесь достичь? – spickermann
@spickermann Я не могу сказать вам причину, по которой мне нужен файл в течение этого определенного времени, но могу сказать, что он связан с программой, которая копирует в буфер обмена, я хочу, чтобы файл был доступен в случае, если вы переписываете буфер обмена чем-то другим, если знаете, что я имею в виду? Уловка заключается в том, что информация _CANNOT BE CACHED OVERNIGHT_, поэтому мне нужна резервная копия на определенное количество времени, чтобы достичь того, что я хочу делать – HelloHelloHello