Удаление строк из файла через ресурс



  • Хочу еще раз обратить внимание на 2 проблемы, связанные с этим действием. Я знаю про советы использовать базу, вместо файлов. Не каждому и не под все задачи подходит плодить базы, проще с файлами. Их проще просматривать, редактировать и прочее. 2 проблемы:

    1. Каждые 100000 (сто тысяч) строк, если в ресурсе брать строку
      из файла и удалять, БАС зависает. Кто то писал на минуты, у меня он виснет наглухо и спасает убивание процесса БАС. Естественно все результаты работы над файлом из которого брались строки при этом не сохраняются

    2. При записи в файл через ресурс, есть галочка "мгновенно записывать результаты", и если галочка стоит, то даже если выключили свет (3 раза такое уже было) результаты работы сохраняются. При чтении и удалении файла такая настройка отсутствует, соответственно при выключении компа все результаты работы спускаются в унитаз. Я пытался ковырять темп. файлы, логи, чтобы где то найти те строки, которые пока не записались в файл но они уже были использованы, я их найти не смог нигде.

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



  • @serrgo said in Удаление строк из файла через ресурс:

    Хочу еще раз обратить внимание на 2 проблемы, связанные с этим действием. Я знаю про советы использовать базу, вместо файлов. Не каждому и не под все задачи подходит плодить базы, проще с файлами. Их проще просматривать, редактировать и прочее. 2 проблемы:

    1. Каждые 100000 (сто тысяч) строк, если в ресурсе брать строку
      из файла и удалять, БАС зависает. Кто то писал на минуты, у меня он виснет наглухо и спасает убивание процесса БАС. Естественно все результаты работы над файлом из которого брались строки при этом не сохраняются

    2. При записи в файл через ресурс, есть галочка "мгновенно записывать результаты", и если галочка стоит, то даже если выключили свет (3 раза такое уже было) результаты работы сохраняются. При чтении и удалении файла такая настройка отсутствует, соответственно при выключении компа все результаты работы спускаются в унитаз. Я пытался ковырять темп. файлы, логи, чтобы где то найти те строки, которые пока не записались в файл но они уже были использованы, я их найти не смог нигде.

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

    11 месяцев назад был подобный тикет, на что саппорт ответил:

    Я конечно посмотрю, но удаление строк из файла в данном случае требует полной перезаписи файла, так они устроены. Даже если это будет работать, такая операция будет крайне неэффективна, нужно подумать над использованием базы.
    


  • Я конечно посмотрю, но удаление строк из файла в данном случае требует полной перезаписи файла, так они устроены. Даже если это будет работать, такая операция будет крайне неэффективна, нужно подумать над использованием базы.
    

    Когда стоит галочка "мгновенно записывать результаты" в файл, то при многопоточности и большой частоте записи в файл, скорость работы тоже замедляется из за этого. В таких случаях я эту галочку не использую. Но сегодня, когда я узнал что свет моргнул и я теперь не знаю, какие строки брались из файла и какие нет, уж лучше бы я пожертвовал скоростью и эффективностью этой операции, чем потерял все данные. У меня есть шаблон, которые каждые 5 минут регистрирует аккаунт и от того что файл полностью перезапишется каждые 5 минут я не пострадаю. Хорошо бы дать пользователю возможность самому выбирать: эффективно ему будет при такой частоте работе с файлом и таком размере файла сохранять результаты сразу или нет.



  • @serrgo said in Удаление строк из файла через ресурс:

    Когда стоит галочка "мгновенно записывать результаты" в файл, то при многопоточности и большой частоте записи в файл, скорость работы тоже замедляется из за этого. В таких случаях я эту галочку не использую. Но сегодня, когда я узнал что свет моргнул и я теперь не знаю, какие строки брались из файла и какие нет, уж лучше бы я пожертвовал скоростью и эффективностью этой операции, чем потерял все данные. У меня есть шаблон, которые каждые 5 минут регистрирует аккаунт и от того что файл полностью перезапишется каждые 5 минут я не пострадаю. Хорошо бы дать пользователю возможность самому выбирать: эффективно ему будет при такой частоте работе с файлом и таком размере файла сохранять результаты сразу или нет.

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



  • @Fox said in Удаление строк из файла через ресурс:

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

    Так я и говорю о работе с малыми файлами с малой частотой обновления. Файл на 300 имейлов, регистрация акка каждые 5 минут, ну зачем тут база? На задачах с миллионными строками, да, буду переделывать все под базу из за данных проблем



  • @serrgo said in Удаление строк из файла через ресурс:

    Так я и говорю о работе с малыми файлами с малой частотой обновления. Файл на 300 имейлов, регистрация акка каждые 5 минут, ну зачем тут база? На задачах с миллионными строками, да, буду переделывать все под базу из за данных проблем

    А в чём проблема при работе с файлом на 300 строк?

    Когда стоит галочка "мгновенно записывать результаты" в файл, то при многопоточности и большой частоте записи в файл, скорость работы тоже замедляется из за этого. В таких случаях я эту галочку не использую. Но сегодня, когда я узнал что свет моргнул и я теперь не знаю, какие строки брались из файла и какие нет, уж лучше бы я пожертвовал скоростью и эффективностью этой операции, чем потерял все данные.

    Без опции "мгновенно записывать результаты" данные будут добавляться в файл по завершению потоков.

    При записи в файл через ресурс, есть галочка "мгновенно записывать результаты", и если галочка стоит, то даже если выключили свет (3 раза такое уже было) результаты работы сохраняются. При чтении и удалении файла такая настройка отсутствует, соответственно при выключении компа все результаты работы спускаются в унитаз.

    37b994e0-738c-4d6e-bbd5-f2be57ab96d5-изображение.png


Log in to reply
 

  • 2
  • 27
  • 8
  • 5
  • 4
  • 9
  • 4
  • 5