none
Мне нужно проверить "Планировщик заданий" RRS feed

  • Вопрос

  • Здравствуйте!

    Мне нужно протестировать "Планировщик заданий" так как он неправильно обрабатывает задачу при сбое приложения.

    У меня есть приложение, которое иногда крашится. Я изменил задание добавив параметр "при сбое выполнения перезапускать", но при сбое приложение не перезапускается. На нём тестировать не вариант т.к. неизвестно, когда будет сбой приложения.


    И поэтому Я хочу протестировать планировщик заданий, создав задачу с параметром "при сбое выполнения перезапускать", но Я не знаю, как сделать самостоятельно сбой для какой-то программы.

    Как мне это сделать?


    Win10 Home x64 ver.20H2 build 19042.844

    • Изменено OgUrecheK89 12 марта 2021 г. 21:20
    8 марта 2021 г. 14:13

Ответы

  • Да, похоже Powershell не генерирует сбой, когда сценарий бросает исключение. Попробуйте такую программу на C#:

    using System;
    using System.Collections.Generic;
    using System.Text;
    
    namespace ConsoleApp1
    {
        class Program
        {
            static void Main(string[] args)
            {
                throw new Exception();
            }
        }
    }

    Сохраните ее в файл Program.cs и соберите командой

    %WINDIR%\Microsoft.NET\Framework\v4.0.30319\Csc.exe  /target:winexe Program.cs

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

    >На TechNet пытаюсь создать вопрос, но выводится такое сообщение "Ваше сообщение получило пометку и сейчас дополнительно проверяется. Отправьте сообщение в цепочку ЗДЕСЬ, если считаете, что это сделано по ошибке".

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

    15 марта 2021 г. 3:48

Все ответы

  • На чем пишете то? Или вы не свою программу запускаете планировщиком? Сделать сбой думаю можно вызовом функции RaiseException с любыми параметрами.
    8 марта 2021 г. 17:03
  • Я не пишу программы...

    Проблемное приложение MSI Dragon Center v.2.6.2005.0601, но обсуждение не про это приложение.

    Мне нужно для теста создать задачу в планировщике задач с параметром "при сбое выполнения перезапускать" и попытаться как-то его закрыть со сбоем и проверить будет ли перезапуск приложения.

    8 марта 2021 г. 23:01
  • Это форум для разработчиков программ. Создайте тему на TechNet, если у вас вопрос по планировщику в общем.

    Можете попробовать еще такой PowerShell скрипт для вызова сбоя:

    Add-Type -TypeDefinition @'
    using System;
    public class C
    {
        public static void ThrowException()
        {
            throw new Exception();
        }    
    }
    '@
    
    [C]::ThrowException()
    

    9 марта 2021 г. 3:36
  • Спасибо Вам за информацию.
    10 марта 2021 г. 10:08
  • VadimTagil, к сожалению с помощью скрипта у меня не получилось реализовать задуманное.

    На TechNet пытаюсь создать вопрос, но выводится такое сообщение "Ваше сообщение получило пометку и сейчас дополнительно проверяется. Отправьте сообщение в цепочку ЗДЕСЬ, если считаете, что это сделано по ошибке".

    12 марта 2021 г. 19:24
  • Да, похоже Powershell не генерирует сбой, когда сценарий бросает исключение. Попробуйте такую программу на C#:

    using System;
    using System.Collections.Generic;
    using System.Text;
    
    namespace ConsoleApp1
    {
        class Program
        {
            static void Main(string[] args)
            {
                throw new Exception();
            }
        }
    }

    Сохраните ее в файл Program.cs и соберите командой

    %WINDIR%\Microsoft.NET\Framework\v4.0.30319\Csc.exe  /target:winexe Program.cs

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

    >На TechNet пытаюсь создать вопрос, но выводится такое сообщение "Ваше сообщение получило пометку и сейчас дополнительно проверяется. Отправьте сообщение в цепочку ЗДЕСЬ, если считаете, что это сделано по ошибке".

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

    15 марта 2021 г. 3:48
  • VadimTagil, создал задание, но, как и у Вас перезапуска нет.

    Отправлял вопрос без ссылок.

    VadimTagil, спасибо Вам за помощь.
    • Изменено OgUrecheK89 25 марта 2021 г. 21:14 дополнил про спс
    16 марта 2021 г. 12:08