Иван Стародубцев: ну язык - частично наверное потянется из предметной области. Будь это системная часть из серии работы с оборудованием - то с и чуть-чуть с++, парсинг логов оборудования - вплоть до awk и т.п.
И чуть больше того - можно сказать этакая детская бигдата: совокупность запросов по интенсивности, повторяемости относительно других сотрудников.
А это уже иной уровень, который замечательно проиллюстрирован анекдотом "шеф провел чемпионат по тетрису и первую десятку рекордсменов уволил" -)
Читаем внимательнее -)
1. получаем ОДНУ запись для шаманства
2. шаманим
3. по результатам шаманства - пишем результат шаманства
Естественно в больших конструкциях зачастую в п.3 может быть и отметка времени и стэйт, а в п.3 отбор не только не окученных, но и для повторных попыток позиции со стэйтами подразумевающими повтор (сервис занят, таймаут) и счетчики попыток
GromWolf: не надо этот цикл делать. точнее делать пока sql что-то отдает.
А вот у sql просить "дай мне ОДНУ строчку по условиям..." - в общем то, что я и расписал выше.
по результатам дальнейшего шаманства с логином-паролем - писать в базу результат
в конечном итоге запрос перестанет возвращать результат (если в условии where будет только неокученные) - это и будет критерием окончания цикла.
Притом такая программа может быть прекращена в любой момент, а при повторном запуске продолжит перебирать только не окученных.
GromWolf: такого типа программа, подразумевая что она может прекратить свою работу и начать потом снова в любой момент как минимум должна уметь "помнить" на чем она остановилась.
Вполне разумным будет хранить такую информацию в БД рядом с логинами-паролями. Например в виде даты-времени последнего обращения. То есть структура будет состоять как минимум из трех столбцов (логин, пароль, отметка времени). Вполне очевидно что последняя колонка должна быть nullable - когда "еще не использовали пару"
Соответственно логика будет выглядеть так:
получить
одну строку
логин-пароль-[дата-время]
из таблицы
отсортированной по дате-времени
на sql это будет ровно так же как же как и словами:
select
top 1
[логин], [пароль], [дата-время]
from [имя таблицы]
order by [дата-время] asc
с полученной парой логина-пароля делаем нечто
и при нужном результате пишем в базу текущую отметку времени
update [имя таблицы]
set [дата-время] = getdate()
where [логин]= логину AND [пароль]=паролю
далее возвращаемся на исходную и получаем следующую одну строчку
p/s/ естественно логин и пароль - не лучший уникальный ключ для выбора - так что потребуется некий "уникализатор", дальше захочется сохранять результат прошлого обращения и в зависимости от результата возможно больше записи не выбирать, далее захочется делать это в несколько потоков...
M-Misha-M: ну да. Т.е. exception - это когда произошло что-то неожиданное и непредсказуемое или фатальное, а вот если вполне очевидно ожидаемое - то проверять это и что-то делать.
Adamos: я тоже реализовывал подобное, но при лицензионном аудите было немало замечаний. Даже при нехилых бюджетах закупки много чего и предварительных витках внутреннего аудита.
Adamos: гм... сержант милиции с образованием "школа милиции" - ни по должности, ни по квалификации не может убунту от фридоса отличить... соответственно в его компетенции либо изъять для экспертизы либо не изымать...
Конечно ему заманчивее не изымать опосля стимуляции на карман...
Буквоедство: в нашем законодательстве для юрлиц [и ИП], если ему строго следовать, непиратка - это только то, что приобретено + есть договор с правообладателем или его представителем. То бишь даже убунта должна сопровождаться платежкой-накладной например на 1 руб. + бумажкой с печатью от правообладателя.
Adamos: пиратят-то обычно самые "жирные" версии... ущерб считают по ценникам самых дорогих коробок в розницу... Ну и итого сумма винрара, энтерпрайзной винды, фотошопа, иллюстратора, автокада и прочего из серии "все программы на одном зверь-двд" - вполне так набежит =)
А вопрос "на кой ляд" - он применим если покупать, а если бесплатно пиратить - то мало кто думает над этим вопросом...
p/s/
win 10 pro - ~14
Visio Professional 2016 - ~36
Office Professional Plus 2016 - ~27
sql - ~200
Windows Svr Std 2016 64Bit - ~75
ну и далее -)
Adamos: стоит отметить, что сам факт забора на экспертизу - достаточно чувствительный удар по фирме:
- экспертиза продолжается не один день
- не факт что с экспертизы вернутся компьютеры в исправном состоянии
поэтому-то и "кормятся" проверяльщики на уровне "дайте денег и тогда мы не заберем компы на экспертизу"
Adamos: достаточная сумма - это если мне не изменяет память - это 50000 руб. С ходу - это примерно одна боксовая коробка MS Office Enterprise... для 5 компов - это по 10тыр. на комп. win+office - уже больше. Но это уже вторая часть процесса.
Изначально люди в погонах - не являются экспертами и поэтому их долг при наличии подозрений и оснований (заява работников) - изъять для экспертизы. А уже по результатам экспертизы - величина ущерба правообладателям - откуда потечет все остальное. Естественно на экспертизе могут быть найдены мптришечки модных шлягеров и т.п....
Кстати если сотрудники таки настоят на приобщении этого видео и своих показаний к делу - то дело будет идти по ч.3 "...совершенное группой лиц, по предварительному сговору" и они будут той же самой группой лиц, которая может конечно поиметь некоторые льготы в присуждаемом сроке "за помощь следствию" =)
https://msdn.microsoft.com/ru-ru/library/windows/a...