Удаление строк из файла через ресурс
-
Хочу еще раз обратить внимание на 2 проблемы, связанные с этим действием. Я знаю про советы использовать базу, вместо файлов. Не каждому и не под все задачи подходит плодить базы, проще с файлами. Их проще просматривать, редактировать и прочее. 2 проблемы:
-
Каждые 100000 (сто тысяч) строк, если в ресурсе брать строку
из файла и удалять, БАС зависает. Кто то писал на минуты, у меня он виснет наглухо и спасает убивание процесса БАС. Естественно все результаты работы над файлом из которого брались строки при этом не сохраняются -
При записи в файл через ресурс, есть галочка "мгновенно записывать результаты", и если галочка стоит, то даже если выключили свет (3 раза такое уже было) результаты работы сохраняются. При чтении и удалении файла такая настройка отсутствует, соответственно при выключении компа все результаты работы спускаются в унитаз. Я пытался ковырять темп. файлы, логи, чтобы где то найти те строки, которые пока не записались в файл но они уже были использованы, я их найти не смог нигде.
Уважаемый разработчик, пожалуйста, пофиксите эту надоедливую проблему. Спасибо вам большое за замечательный софт!
-
-
@serrgo said in Удаление строк из файла через ресурс:
Хочу еще раз обратить внимание на 2 проблемы, связанные с этим действием. Я знаю про советы использовать базу, вместо файлов. Не каждому и не под все задачи подходит плодить базы, проще с файлами. Их проще просматривать, редактировать и прочее. 2 проблемы:
-
Каждые 100000 (сто тысяч) строк, если в ресурсе брать строку
из файла и удалять, БАС зависает. Кто то писал на минуты, у меня он виснет наглухо и спасает убивание процесса БАС. Естественно все результаты работы над файлом из которого брались строки при этом не сохраняются -
При записи в файл через ресурс, есть галочка "мгновенно записывать результаты", и если галочка стоит, то даже если выключили свет (3 раза такое уже было) результаты работы сохраняются. При чтении и удалении файла такая настройка отсутствует, соответственно при выключении компа все результаты работы спускаются в унитаз. Я пытался ковырять темп. файлы, логи, чтобы где то найти те строки, которые пока не записались в файл но они уже были использованы, я их найти не смог нигде.
Уважаемый разработчик, пожалуйста, пофиксите эту надоедливую проблему. Спасибо вам большое за замечательный софт!
11 месяцев назад был подобный тикет, на что саппорт ответил:
Я конечно посмотрю, но удаление строк из файла в данном случае требует полной перезаписи файла, так они устроены. Даже если это будет работать, такая операция будет крайне неэффективна, нужно подумать над использованием базы.
-
-
Я конечно посмотрю, но удаление строк из файла в данном случае требует полной перезаписи файла, так они устроены. Даже если это будет работать, такая операция будет крайне неэффективна, нужно подумать над использованием базы.
Когда стоит галочка "мгновенно записывать результаты" в файл, то при многопоточности и большой частоте записи в файл, скорость работы тоже замедляется из за этого. В таких случаях я эту галочку не использую. Но сегодня, когда я узнал что свет моргнул и я теперь не знаю, какие строки брались из файла и какие нет, уж лучше бы я пожертвовал скоростью и эффективностью этой операции, чем потерял все данные. У меня есть шаблон, которые каждые 5 минут регистрирует аккаунт и от того что файл полностью перезапишется каждые 5 минут я не пострадаю. Хорошо бы дать пользователю возможность самому выбирать: эффективно ему будет при такой частоте работе с файлом и таком размере файла сохранять результаты сразу или нет.
-
@serrgo said in Удаление строк из файла через ресурс:
Когда стоит галочка "мгновенно записывать результаты" в файл, то при многопоточности и большой частоте записи в файл, скорость работы тоже замедляется из за этого. В таких случаях я эту галочку не использую. Но сегодня, когда я узнал что свет моргнул и я теперь не знаю, какие строки брались из файла и какие нет, уж лучше бы я пожертвовал скоростью и эффективностью этой операции, чем потерял все данные. У меня есть шаблон, которые каждые 5 минут регистрирует аккаунт и от того что файл полностью перезапишется каждые 5 минут я не пострадаю. Хорошо бы дать пользователю возможность самому выбирать: эффективно ему будет при такой частоте работе с файлом и таком размере файла сохранять результаты сразу или нет.
Имхо: При больших объёмах данных использовать файл крайне не эффективно в любом случае, проще один раз при запуске скрипта все данные перенести в базу и работать с базой. С ней работа будет намного быстрее и с ней точно ни чего не случится при отключении электричества.
-
@Fox said in Удаление строк из файла через ресурс:
Имхо: При больших объёмах данных использовать файл крайне не эффективно в любом случае, проще один раз при запуске скрипта все данные перенести в базу и работать с базой. С ней работа будет намного быстрее и с ней точно ни чего не случится при отключении электричества.
Так я и говорю о работе с малыми файлами с малой частотой обновления. Файл на 300 имейлов, регистрация акка каждые 5 минут, ну зачем тут база? На задачах с миллионными строками, да, буду переделывать все под базу из за данных проблем
-
@serrgo said in Удаление строк из файла через ресурс:
Так я и говорю о работе с малыми файлами с малой частотой обновления. Файл на 300 имейлов, регистрация акка каждые 5 минут, ну зачем тут база? На задачах с миллионными строками, да, буду переделывать все под базу из за данных проблем
А в чём проблема при работе с файлом на 300 строк?
Когда стоит галочка "мгновенно записывать результаты" в файл, то при многопоточности и большой частоте записи в файл, скорость работы тоже замедляется из за этого. В таких случаях я эту галочку не использую. Но сегодня, когда я узнал что свет моргнул и я теперь не знаю, какие строки брались из файла и какие нет, уж лучше бы я пожертвовал скоростью и эффективностью этой операции, чем потерял все данные.
Без опции "мгновенно записывать результаты" данные будут добавляться в файл по завершению потоков.
При записи в файл через ресурс, есть галочка "мгновенно записывать результаты", и если галочка стоит, то даже если выключили свет (3 раза такое уже было) результаты работы сохраняются. При чтении и удалении файла такая настройка отсутствует, соответственно при выключении компа все результаты работы спускаются в унитаз.
-
This post is deleted!