Многопоток. Как узнать с какими аккаунтами работают другие потоки.

Duser

Client
Регистрация
11.08.2013
Сообщения
294
Благодарностей
201
Баллы
43
Здравствуйте. Нужна помощь.

Есть шаблон, работает в многопотоке. Мне нужно, что бы каждый поток работал со своим аккаунтом. Брать данные аккаунта из списка, привязанного к файлу с удалением, мне не подойдёт. Так как работа может завершится ошибкой в любой момент, не дойдя до конца.

Мне нужно как-то получить, допустим список имейлов, к которым привязаны Акки с которыми работают другие потоки. Или просто список потоков и в каждом потоке и-мейл с которым он работает.

Понятно объяснил? Можно на си шарпе. Только поподробней, я не профи в этом языке.
 

Nord

Client
Регистрация
22.03.2012
Сообщения
2 406
Благодарностей
1 473
Баллы
113
завершится ошибкой в любой момент, не дойдя до конца
По BadEndу сохраняй назад в список.
Либо же 1е действие - берешь и удаляешь акк, 2-е - записываешь в конец, 3-е - все остальное
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
более простой способ с удалением и записью тебе не подходит, зато какой-то невероятный, с контролем всех потоков, тебе подходит)
 

Duser

Client
Регистрация
11.08.2013
Сообщения
294
Благодарностей
201
Баллы
43
С бэдэндом не удобно. Да он у меня и не всегда срабатывает почему-то.
 

Nord

Client
Регистрация
22.03.2012
Сообщения
2 406
Благодарностей
1 473
Баллы
113

Duser

Client
Регистрация
11.08.2013
Сообщения
294
Благодарностей
201
Баллы
43
И что это даст? В конце, когда акков будет мало. Следующий поток залезет в чужой акк.

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

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
В БД ханить аккаунты и данные к ним. А уже к записи в БД у акаунта вносить пометку что аккаунт занят. Дальше уже по логике, брать из БД первый свободный аккаунт.
 

Duser

Client
Регистрация
11.08.2013
Сообщения
294
Благодарностей
201
Баллы
43
В БД ханить аккаунты и данные к ним. А уже к записи в БД у акаунта вносить пометку что аккаунт занят. Дальше уже по логике, брать из БД первый свободный аккаунт.
Ок. Поток схлопнулся. В БД пометка, что акк занят. Что уберёт эту пометку, что бы следующий поток начал его использовать? Можно и без БД, а в CommonCode объявить статический список аккаунтов. Его будут видеть все потоки. Ну так всё равно ж оттуда надо как-то убрать акк, завершившийся ошибкой.
 

one

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

Nord

Client
Регистрация
22.03.2012
Сообщения
2 406
Благодарностей
1 473
Баллы
113
С бэдэндом не удобно. Да он у меня и не всегда срабатывает почему-то.
Бери, удаляй и записывай в конец.
Самое оптимальное.
И если у тебя 100 акков, то запускай на 100 выполнений, тогда по кругу не пойдет

PS оффтопный
@one , мужик, смени аватарку на прошлого милого котейку, а то от этой как то грустно на душе... =)
 

one

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

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
Ок. Поток схлопнулся. В БД пометка, что акк занят. Что уберёт эту пометку, что бы следующий поток начал его использовать? Можно и без БД, а в CommonCode объявить статический список аккаунтов. Его будут видеть все потоки. Ну так всё равно ж оттуда надо как-то убрать акк, завершившийся ошибкой.
вместо статуса можно иметь поле с датой принудительного освобождения. И брать аккаунты, на которых эта дата достигнута
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
вместо статуса можно иметь поле с датой принудительного освобождения. И брать аккаунты, на которых эта дата достигнута
ну и аккаунты, у которых null в дате. этот же null прописывать, когда аккаунт отработает.
 

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
С бэдэндом не удобно. Да он у меня и не всегда срабатывает почему-то.
Да, есть моменты когда по какой то причине беденд не получает шаблон. Один из них это если в ручную прервать работу шаблона. Другие пока не могу отловить, но периодически эти моменты появляются.

Может стоит разработчиков попросить подправить функционал беденда? При любом раскладе, если ошибка, всегда заканчивать по беденду если он есть.
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
не понятно - почему тебя не устраивает вариант - взятие строки и сразу же запись такой же строки - в конец списка, если зафиксирована блочина - то удаление строки содержащей текст. чтобы не юзать задействованны акк - можно для каждого файла предусмотреть создание файла с именем - логин акка - в котором будет статус- активен не активен и включать в работу только если не активен либо переходить к следующей строке, т.е. можно и без бд обойтись... может я просто не до конца понял Вашу задачу
 

alekwuy

Client
Регистрация
06.04.2013
Сообщения
1 631
Благодарностей
461
Баллы
83
бэд энд и гуд энд два эти кружочка не дадут пропасть аккам )
 

one

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

alekwuy

Client
Регистрация
06.04.2013
Сообщения
1 631
Благодарностей
461
Баллы
83
  • Спасибо
Реакции: arhip1985

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113


Если сделать вот так то другой поток не сможет взять акк который сейчас в работе
прикольно) но человек писал, что бед энд не всегда срабатывает, а так - классно
 

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
А что будет происходить с файлом, если скажем на старте к нему обратьтся несколько потоков. Или же не бедэнде и гудэнде?
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
А что будет происходить с файлом, если скажем на старте к нему обратьтся несколько потоков. Или же не бедэнде и гудэнде?
так он залочен должен быть
 

one

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

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
зеннопостер должен лочить файл, когда работаешь в многопотоке, вроде так
Должен, но насколько я знаю в работе с файлами в многопотоке в какой то период начинается чехорда с данными которые пишутся в эти файлы. Возможно я ошибаюсь и делал работу с файлами как то не совсем корректно для работы с многопотоком. По крайне мере, все примеры что есть на форуме мне не помогали.
 

IgorSush

Client
Регистрация
11.02.2016
Сообщения
312
Благодарностей
108
Баллы
43
+1 за БД
 

alekwuy

Client
Регистрация
06.04.2013
Сообщения
1 631
Благодарностей
461
Баллы
83

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