- Регистрация
- 16.04.2016
- Сообщения
- 195
- Благодарностей
- 110
- Баллы
- 43
Други помогите решить головоломку:
Есть xlsx таблица большая и толстая, куча потоков, каждый делает следущее:
1. копирует эту таблицу в свою папку (в виде файла) и там над ней издевается
2. берет случайную строку с удалением, работает с ней сам, НО если возникает необходимость, а она возникает часто, записывает некоторые значения в главную таблицу (общую для всех), после чего опять копирует эту главную таблицу к себе в папку и дальше с ней работает.
Таким образом все потоки воспринимают работу каждого потока.
Была проблема с тем, что чтение и запись происходят с некоторыми тормозами. Когда в главную таблицу что-то записали и тут же копируем себе ее файл, в этом файле еще нет того что мы туда записали. Было решено доп проверкой: в ячейку n пишется значение 1, файл копируется и в нем тут же проверяется та самая ячейка и если в ней еще нет "1" - она копируется еще раз, пока не появится "1". Проблема ушла. Шаблон в целом работает, но весь лог заваливается сообщениями:
"Внимание! Вы пытаетесь изменить файл ТАКОЙТО привязанный к списку или таблице, это может вызвать проблемы в работе. Для файлов, привязанных к спискам и таблицам, используйте соответствующие инструменты."
В логе все понятно написано, и я использую именно операции над таблицей, взять строку с удалением и все.
Таблица копируется экшеном "Скопировать файл" по пути необходимому этому потоку, после чего экшен таблицы "Привязать к файлу" его привязывает.
Пробовал удалять файл таблицы перед перезаписью, и даже переПривязывать эту таблицу на время замены файла к другой таблице, все одно "Внимание! Вы пытаетесь изменить...
Кто нибудь сталкивался с таким и как это решил?
Есть xlsx таблица большая и толстая, куча потоков, каждый делает следущее:
1. копирует эту таблицу в свою папку (в виде файла) и там над ней издевается
2. берет случайную строку с удалением, работает с ней сам, НО если возникает необходимость, а она возникает часто, записывает некоторые значения в главную таблицу (общую для всех), после чего опять копирует эту главную таблицу к себе в папку и дальше с ней работает.
Таким образом все потоки воспринимают работу каждого потока.
Была проблема с тем, что чтение и запись происходят с некоторыми тормозами. Когда в главную таблицу что-то записали и тут же копируем себе ее файл, в этом файле еще нет того что мы туда записали. Было решено доп проверкой: в ячейку n пишется значение 1, файл копируется и в нем тут же проверяется та самая ячейка и если в ней еще нет "1" - она копируется еще раз, пока не появится "1". Проблема ушла. Шаблон в целом работает, но весь лог заваливается сообщениями:
"Внимание! Вы пытаетесь изменить файл ТАКОЙТО привязанный к списку или таблице, это может вызвать проблемы в работе. Для файлов, привязанных к спискам и таблицам, используйте соответствующие инструменты."
В логе все понятно написано, и я использую именно операции над таблицей, взять строку с удалением и все.
Таблица копируется экшеном "Скопировать файл" по пути необходимому этому потоку, после чего экшен таблицы "Привязать к файлу" его привязывает.
Пробовал удалять файл таблицы перед перезаписью, и даже переПривязывать эту таблицу на время замены файла к другой таблице, все одно "Внимание! Вы пытаетесь изменить...
Кто нибудь сталкивался с таким и как это решил?