Многопоточность при работе с таблицей

backoff

Client
Регистрация
20.04.2015
Сообщения
5 926
Благодарностей
6 389
Баллы
113
@backoff бля, дружище, про тебя забыл. Сорян! С меня пивас при встречи! Тебе тоже спасибо большое! Да всем кого пропустил. Уставший за эти дни немного.
да, это я троллю, не парься :-)
конечно понимаю все прекрасно ))
но все равно приятно :az:
 
  • Спасибо
Реакции: one

bizzon

Client
Регистрация
08.09.2015
Сообщения
1 089
Благодарностей
126
Баллы
63
Ну как. Нету строк со статусом 0 значит обработали все строки.
туплю, плюс не было таких задач, все время запускал что-то в цикле пока не выберет из списка. В зеннопостере вкладка Остановка-Условие завершения-количество успехов. Т.е. нужно угадать сколько раз делать, перед тем как остановится.
 

one

Client
Регистрация
22.09.2015
Сообщения
6 793
Благодарностей
1 264
Баллы
113

bizzon

Client
Регистрация
08.09.2015
Сообщения
1 089
Благодарностей
126
Баллы
63
Во в этом и проблема.
так а здесь как проблема решается? Все строки метятся статусом 1, а шаблон как останавливается, он же будет бесконечно читать таблицу чтобы увидеть статус строки.
 

bizzon

Client
Регистрация
08.09.2015
Сообщения
1 089
Благодарностей
126
Баллы
63
При отсутствии строк со статусом 0 останавливаемся по Good
Может это очевидные вещи, но так никто и не ответил. В ZennoPoster вкладка Остановка. Я еще не пользовался этой опцией, но по логике понятно как шаблон может остановиться по BadEnd. Но это больше про ошибки, чтобы выйти из бесконечного цикла.
 

one

Client
Регистрация
22.09.2015
Сообщения
6 793
Благодарностей
1 264
Баллы
113
Наглядней думаю будет понятно.

80849
 

bizzon

Client
Регистрация
08.09.2015
Сообщения
1 089
Благодарностей
126
Баллы
63
Да, наглядно.
Чем отличается просто выход по уведомлению Закончили и по GoodEND?
Сама природа GoodEND не понятна и для чего использовать его здесь?
 

bizzon

Client
Регистрация
08.09.2015
Сообщения
1 089
Благодарностей
126
Баллы
63
Вообщем опишу свое решение которое в итоге родилось. Спасибо @doc за помощь со снипетом и @sergodjan66 за примеры с шаблонами! Пока обкатываю, тестирую, склеиваю все в одно целое.

Добавляем в таблицу колонку STATUS.

Туда пишем:
0 - свободно
1 - занято

По умолчанию (для новых строк) 0.

Сама процедура:

(Описываю работу на примере одного потока)

Что бы не уйти в вечный цикл данное решение реализовано двумя шаблонами с использованием локов и планируется запускать их в Диспетчере заданий поочередно.

1й шаблон.
  • Берем с удалением первую строку со статусом 0.
  • Выполняем нужное с полученными данными.
  • Записываем результат обратно в конец таблицы со статусом 1.
  • При отсутствии строк со статусом 0 останавливаемся по Good.

2й шаблон.
  • Сбрасываем статус у всех строк в таблице на 0.
Все-таки, 2 момента.
1. Как "При отсутствии строк со статусом 0 останавливаемся по Good." Какой-то bat файл нужно запускать?
2. Как правильно синхронизировать 1й шаблон со 2ым, чтобы второй сразу после первого запускался?
 

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