Утром пришел на работу и узрел чудо инженерной мысли!
Предыстория:
После компиляции некоторого проекта необходимо прогнать автотест, состоящий из нескольких очень долгих скриптов(по несколько часов каждый).
Автотест был запущен один раз.
Утром следующего дня тестировщиков ждал MessageBox с уведомлением об исключении 0xC0000005 .
Проведено исследование явления
— Проанализированы логи: ошибка произошла в 19.46 предыдущего дня, то есть через 6 часов тестирования.
— известно, что тест длится десятки часов — начинать сначала очень не хочется.
— нажали "Добро" на MessageBox'е — выполнение автотеста продолжилось.
Проведен мозговой штурм на тему "Почему? "
Ответ: ошибка случилась из-за перехода компутера в режим энергосбережения.
Проведен ещё один мозговой штурм на тему "Как быть?". Менять настройки питания во время выполнения теста не хочется.
Да к тому у нет прав на изменение этих настроек. А тот у кого есть права уже уехал.
Предложение изобрести anti-keylock поддержано большинством голосов.
Изобретен anti-keylock:
Известно, что для того, чтобы режим питания компутера не менялся, достаточно тыкать какую-нить клавишу на компутере или двигать мышкой.
Единственный автоматизируемый манипулятор, подключенный к компутеру — это "подставка-под-чашку-кофе".
Благодаря многозадачности OS "окна.пвх" удалось на стенд загрузить утилитку, которая
с заданной периодичностью выталкивает и заглатывает обратно каретку CD-привода.
остальное — классическая механика.
Робот (не побоюсь этого слова) проработал уже больше 14 часов.
А теперь прошу любить и жаловать:
ЗЫ: без ботинок на столе картонка соскальзывает.
ЗЗЫ: в тему
Здравствуйте, damiryaka, Вы писали:
D>Благодаря многозадачности OS "окна.пвх" удалось на стенд загрузить утилитку, которая D>с заданной периодичностью выталкивает и заглатывает обратно каретку CD-привода. D>остальное — классическая механика.
то есть и CD-ejector можно продавать, как часть программно-аппаратного комплекса по проведению автоматического тестирования
Здравствуйте, ononim, Вы писали:
O>извращенцы, я в свое время делал это при помощи mouse_event O>А вообще фиксить надо баг, а не внешний мир.
Они не извращенцы, а просто ленивые, ИМХО, как большинство из нас.
Интересное совпадение... Я ту историю запостил практически ровно год назад, при этом она тоже произошла в феврале. Может в это время года у всяческих ИТшников начинается какое-нибудь обострение?
Здравствуйте, damiryaka, Вы писали:
D>Благодаря многозадачности OS "окна.пвх" удалось на стенд загрузить утилитку, которая D>с заданной периодичностью выталкивает и заглатывает обратно каретку CD-привода. D>остальное — классическая механика.
D>Робот (не побоюсь этого слова) проработал уже больше 14 часов.
Есть опасность того, что лоток CD привода может заклинить от нагрузки, всё таки мышка весит на много больше диска + рычаг.
Ну или от постоянной работы + нагрузка может сломаться .
O>>извращенцы, я в свое время делал это при помощи mouse_event O>>А вообще фиксить надо баг, а не внешний мир. A>Они не извращенцы, а просто ленивые, ИМХО, как большинство из нас.
то есть сделать софтину которая открывает закрывает сидюк, привязать к нему мышь поставить ботинки это лень, а вот такое вот
for(;;)
{
for(double i=0; i<360; i++)
{
int x = (int)((double)4000.0*sin(i*3.1415/180.0));
int y = (int)((double)4000.0*cos(i*3.1415/180.0));
mouse_event(MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_MOVE, 32767+x, 32767+y, 0, 0);
::Sleep(10);
}
}
воще непостижимая сложность?)
Как много веселых ребят, и все делают велосипед...
__>Есть опасность того, что лоток CD привода может заклинить от нагрузки, всё таки мышка весит на много больше диска + рычаг. __>Ну или от постоянной работы + нагрузка может сломаться .
__>В общем в массовое тираживароние не годиться .
Ну хорошо, хорошо. Опасность устранена. Конструкция разобрана.
Проработало без сбоев 18 часов.
Пришел админ и мы поправили настройки энергосбережения.
O> for(;;)
O> {
O> for(double i=0; i<360; i++)
O> {
O> int x = (int)((double)4000.0*sin(i*3.1415/180.0));
O> int y = (int)((double)4000.0*cos(i*3.1415/180.0));
O> mouse_event(MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_MOVE, 32767+x, 32767+y, 0, 0);
O> ::Sleep(10);
O> }
O> }
O>
O>воще непостижимая сложность?)
такой вариант рассматривался во время мозгового штурма, но был отвергнут из-за того, что не дает нормально пользоваться мышкой.
хотя непонятно почему, система-то многозадачная.
Здравствуйте, Arsenicum, Вы писали:
A>Здравствуйте, ononim, Вы писали:
O>>извращенцы, я в свое время делал это при помощи mouse_event O>>А вообще фиксить надо баг, а не внешний мир. A>Они не извращенцы, а просто ленивые, ИМХО, как большинство из нас.
Здравствуйте, damiryaka, Вы писали:
D>такой вариант рассматривался во время мозгового штурма, но был отвергнут из-за того, что не дает нормально пользоваться мышкой. D>хотя непонятно почему, система-то многозадачная.
Поделюсь маленьким секретом, так сказать, хозяйке на заметку:
Если оставить отладку в студии остановленной на точке останова, винда в спячку уходить не будет.
Здравствуйте, Mycopka, Вы писали:
D>>такой вариант рассматривался во время мозгового штурма, но был отвергнут из-за того, что не дает нормально пользоваться мышкой. D>>хотя непонятно почему, система-то многозадачная.
M>А ботинки значит работать не мешают???)
Здравствуйте, damiryaka, Вы писали:
D>Ну хорошо, хорошо. Опасность устранена. Конструкция разобрана.
Ээээ, какая опасность ?
D>Проработало без сбоев 18 часов.
Классно на самом деле. Я пару раз не удачно в слепую ложил диск в лоток, и его клинило. Я бы такую конструкцию не делал бы сам по себе, на основании своего опыта заклинвания. Побоялся бы за надёжность.
Однако у Вас проработала, и вообще она позитивная — конструкция .
D>Больше позитива! Всем спасибо.
А где негатив ?
Здравствуйте, damiryaka, Вы писали:
] D>Да к тому у нет прав на изменение этих настроек. А тот у кого есть права уже уехал.
Пришел к выводу, что профессия-таки накладывает свой отпечаток. Ибо после короткого совещания с коллегами, сошлись во мнении, что бОльшую часть времени потратили бы на попытки получить эти самые права самостоятельно
Блин, были бы на вашем месте американцы, то сгоняли бы в лавку, купили бы какой-нибудь набор Lego Mindstorms, из него бы смонстрячили канонического робота, чтобы он кнопку нажимал или мышку возил, все было бы правильно и строго перпендикулярно. А это чисто отечественный подход. Да, не все еще утрачено, есть еще ягоды в ягодицах!
G>Блин, были бы на вашем месте американцы, то сгоняли бы в лавку, купили бы какой-нибудь набор Lego Mindstorms, из него бы смонстрячили канонического робота, чтобы он кнопку нажимал или мышку возил, все было бы правильно и строго перпендикулярно.
Были бы это индусы, они бы посадили индуса безо всякого робота.
Здравствуйте, Шебеко Евгений, Вы писали:
G>>Блин, были бы на вашем месте американцы, то сгоняли бы в лавку, купили бы какой-нибудь набор Lego Mindstorms, из него бы смонстрячили канонического робота, чтобы он кнопку нажимал или мышку возил, все было бы правильно и строго перпендикулярно. ШЕ>Были бы это индусы, они бы посадили индуса безо всякого робота.