В логе мат на перемате

dimanis

Client
Регистрация
16.04.2016
Сообщения
195
Благодарностей
110
Баллы
43
Други помогите решить головоломку:
Есть xlsx таблица большая и толстая, куча потоков, каждый делает следущее:
1. копирует эту таблицу в свою папку (в виде файла) и там над ней издевается
2. берет случайную строку с удалением, работает с ней сам, НО если возникает необходимость, а она возникает часто, записывает некоторые значения в главную таблицу (общую для всех), после чего опять копирует эту главную таблицу к себе в папку и дальше с ней работает.

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

Кто нибудь сталкивался с таким и как это решил?
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
По описанию ужас. Перенести все это дела в работу с БД это идеальное решение.
 

dimanis

Client
Регистрация
16.04.2016
Сообщения
195
Благодарностей
110
Баллы
43
Тут эксель нужен для наглядности работы, вывода статистики отчетов и т.д. Все работает четко, +100500 сообщений в логе настроение портят. Вы Rostonix в разных темах писали о том что с таблицей надо работать экшенами таблицы а не файла и все будет путем, но тут почему то это не прокатывает. Вот простой пример который ругается http://clip2net.com/s/3yIB6bp
 

dimanis

Client
Регистрация
16.04.2016
Сообщения
195
Благодарностей
110
Баллы
43
Вобщем это сообщение вылазит просто при копировании любого файла таблицы, которая привязана к файлу. Это означает что файлы таблиц копировать нельзя? Может я чего то недопонимаю но по моему это бред. Ладно бы при переносе файла было такое предупреждение, но при копировании зачем?
 

dimanis

Client
Регистрация
16.04.2016
Сообщения
195
Благодарностей
110
Баллы
43
Вроде разобрался, есть такой экшен в таблицах Сохранить в файл, пробовал его как то, но видимо что то делал не так, он как раз для этого нужен.
 

dimanis

Client
Регистрация
16.04.2016
Сообщения
195
Благодарностей
110
Баллы
43
Жованный крот, ну какой же этот экшен (записать в файл) оказывается медленный, просто полный обвал б...... От чего хотел уйти к тому и пришел. Изначально таблица копировалась построчно с счетчиком и это меня не устраивало т.к. в один поток это происходило мгновенно, но чем больше потоков тем тормознее и тормознее. Прешел на полное копирование файла таблицы, все заработало шустро, но предупреждения в логе достали. Сделал через запись в файл, вернулся к тормозам как с перебором строк, даже по моему еще медленнее стал работать. :dy:
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
сами решили мучатся с таблицами) вообще какая то странная задача. если каждый поток работает со своими копиями данных и постоянны жесткий диск должен перезаписывать много файлов, тут и на оперативу и на диск нагрузка
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)