Проблема с таблицами, перейти на списки

Spelin

Client
Регистрация
24.09.2019
Сообщения
445
Благодарностей
115
Баллы
43
Добрый день.
Т.к. с таблицами происходит какие-то глюки - после долгой работы шаблона ячейки пропадают. (только в многопотоке)
Подумал все переносить в списки и тхт файл. Вроде с ними проблем нет.

Как сделать так чтобы с списка вытаскивались значения в переменные?
слово;слово2;слово3;слово4; - это одна строка, строк много.
Нужно раскидать их по переменным.
как это сделать?
 

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 433
Благодарностей
1 280
Баллы
113

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 021
Благодарностей
1 383
Баллы
113
странно, что с таблицами такая лажа у Вас. Лочить надо. Списки тоже надо лочить для корректной работы в многопотоке.
А, если отвечать на Ваш вопрос, как сделать со списками:
сплитить строку в массив и брать значения по индексу массива
 

Spelin

Client
Регистрация
24.09.2019
Сообщения
445
Благодарностей
115
Баллы
43
странно, что с таблицами такая лажа у Вас. Лочить надо. Списки тоже надо лочить для корректной работы в многопотоке.
А, если отвечать на Ваш вопрос, как сделать со списками:
сплитить строку в массив и брать значения по индексу массива
Ответ модераторов по поводу того что лочить или нет: в кубиках таблиц лок предусмотрен. Хотя видно что отрабатывает некорректно.
У меня там все стандартно, поэтому и не понимаю почему глючит(таблицы):
В начале взял строку с удалением, распихал значения в переменные
В конце шаблона возвращаю.
 

Dr.Pipetka

Client
Регистрация
12.12.2017
Сообщения
1 210
Благодарностей
792
Баллы
113
Пару дней думаю о создании темы в багах. Заметил что в многопотоке за сутки - двое из 16 строк остается 10 - 16.
Логика шаба простая. На старте кубик взятия строки по переменным > установка переменно flag = true > бэд и гуд энд ведут к иф флаг тру > вернуть в таблицу. Вообще не понятно где тут могут строчки херитса.



Как сделать так чтобы с списка вытаскивались значения в переменные?
слово;слово2;слово3;слово4; - это одна строка, строк много.
Нужно раскидать их по переменным.
как это сделать?
Обработка текста > сплит
 

Spelin

Client
Регистрация
24.09.2019
Сообщения
445
Благодарностей
115
Баллы
43
Пару дней думаю о создании темы в багах. Заметил что в многопотоке за сутки - двое из 16 строк остается 10 - 16.
Логика шаба простая. На старте кубик взятия строки по переменным > установка переменно flag = true > бэд и гуд энд ведут к иф флаг тру > вернуть в таблицу. Вообще не понятно где тут могут строчки херитса.




Обработка текста > сплит
Сам так же не сразу заметил. Поэтому и ищу варианты многопотока без таблицы.
 

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 433
Благодарностей
1 280
Баллы
113
  • Спасибо
Реакции: Сибиряк

Dr.Pipetka

Client
Регистрация
12.12.2017
Сообщения
1 210
Благодарностей
792
Баллы
113

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 021
Благодарностей
1 383
Баллы
113
а как у вас ячейки теряются? просто из 16 остается 10? или есть все 16, но 6 из них пустые?
 

Spelin

Client
Регистрация
24.09.2019
Сообщения
445
Благодарностей
115
Баллы
43
а как у вас ячейки теряются? просто из 16 остается 10? или есть все 16, но 6 из них пустые?
не следил именно какие, т.к. там сложно проследить. но грубо говоря, из 100 ячеек через 2 дня будет уже 40
 

Spelin

Client
Регистрация
24.09.2019
Сообщения
445
Благодарностей
115
Баллы
43
Начал тестировать отдельно таблицу:
4 столбца, 100 строк

1) берем строку с удалением, раскидываем по переменным
2) Увеличиваем значение в 1 столбце (поставил счетчик сколько эта строка прошла циклов)
3) Возвращаем в таблицу

При 5 потоках почему-то максимум отрабатывало 4. (ну это думаю не сюда вопрос))
После 1000 прогонов вижу что у 10 из 100 строк счетчик равен не 10, а 11.
Как так?)

При 1 потоке из 100 циклов, 1 строка имеет счетчик 2
 
Последнее редактирование:

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 683
Баллы
113
какой встроенный лок в таблицах ? там обновление таблицы идет от 2 до 6 секунд. удалять строку и записывать в конец , это точно не к таблицам.
списки или базы надо использовать. на форуме было решение с локальной базой, есть с mysql.
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 605
Благодарностей
4 595
Баллы
113
какой встроенный лок в таблицах ? там обновление таблицы идет от 2 до 6 секунд. удалять строку и записывать в конец , это точно не к таблицам.
списки или базы надо использовать. на форуме было решение с локальной базой, есть с mysql.
думаешь, там нет лока? Какая разница, сколько там обновление в файле длится, если все действия в памяти?
 

Spelin

Client
Регистрация
24.09.2019
Сообщения
445
Благодарностей
115
Баллы
43
думаешь, там нет лока? Какая разница, сколько там обновление в файле длится, если все действия в памяти?
Сделал работу с таблицей через кубик (добавил лок). Толку 0.

Единственное на что уже грешу - при каком-то косяке в шаблоне таблица не сохраняет нормально данные.

P.S. Бэд энд стоит да и в ЗП галку на бэд энд поставил.
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 605
Благодарностей
4 595
Баллы
113
Сделал работу с таблицей через кубик (добавил лок). Толку 0.

Единственное на что уже грешу - при каком-то косяке в шаблоне таблица не сохраняет нормально данные.

P.S. Бэд энд стоит да и в ЗП галку на бэд энд поставил.
здесь никто не умеет гадать) Могу лишь сказать, что по опыту в 99.9% случаев виноват пользователь.

Самые распространённые недочеты:
где-то не предусмотрено возвращение строки в таблицу;
таблиц открыта в другой программе на момент редактирования из зенно;
с таблицей ведется параллельная работа не как с таблицей, а как с файлом или списком;
пользователь где-то нашёл или сам написал потоконебезопасный код и внедрил в проект.

Ещё интересный вариант пришёл в голову. С таблицей работают через какой-то счетчик, который не лочится при изменении.
 

Spelin

Client
Регистрация
24.09.2019
Сообщения
445
Благодарностей
115
Баллы
43
здесь никто не умеет гадать) Могу лишь сказать, что по опыту в 99.9% случаев виноват пользователь.

Самые распространённые недочеты:
где-то не предусмотрено возвращение строки в таблицу;
таблиц открыта в другой программе на момент редактирования из зенно;
с таблицей ведется параллельная работа не как с таблицей, а как с файлом или списком;
пользователь где-то нашёл или сам написал потоконебезопасный код и внедрил в проект.

Ещё интересный вариант пришёл в голову. С таблицей работают через какой-то счетчик, который не лочится при изменении.
Уже все проверил)
Еще раз повторюсь:
В начале проекта берется строка из файла с локом и удалением, раскидывается в переменные
В конце проекта возвращаю обратно.
В середине проекта никакие действия с таблицей не делаю.

Выловить сложно, т.к. косяк этот возникает не постоянно. А сидеть и 24 часа смотреть как отрабатывает шаблон (прямых ошибок с таблицей нет) это точно не вариант)
 

Spelin

Client
Регистрация
24.09.2019
Сообщения
445
Благодарностей
115
Баллы
43
с таблицей ведется параллельная работа не как с таблицей, а как с файлом или списком;
Файл никуда не копирую, а что значит работа как со списком?
 

Spelin

Client
Регистрация
24.09.2019
Сообщения
445
Благодарностей
115
Баллы
43
В общем в опу эти таблицы)

Щас по метрике поймал что у меня запросы были склеены О_о

Грубо говоря 2 запросы: купить слона и пожарная команда

В метрике нашел переходы по такому вот запросу:
купить пожарная команда

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

doc

Client
Регистрация
30.03.2012
Сообщения
8 605
Благодарностей
4 595
Баллы
113
Файл никуда не копирую, а что значит работа как со списком?
это значит, что таблица дополнительно в проекте привязана к списку и с ней работа идёт как со списком
 

Spelin

Client
Регистрация
24.09.2019
Сообщения
445
Благодарностей
115
Баллы
43

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