Получить все задания в Quartz.NET 3.0

У меня есть задания, которые выполняются правильно, но мне нужно перечислить их из другого приложения. Я использую Quartz версии 3.0.7.

Я использовал следующий код:

        var collJobGroups = await pScheduler.GetJobGroupNames();

но ничего не возвращает. этот либо:

        StdSchedulerFactory factory = new StdSchedulerFactory(System.Configuration.ConfigurationManager.AppSettings);
        IScheduler scheduler = await factory.GetScheduler();
        await scheduler.Start();

        IReadOnlyCollection<string> jgn = await scheduler.GetJobGroupNames(new System.Threading.CancellationToken());

person user2162990    schedule 08.09.2019    source источник
comment
но мне нужно перечислить их из другого приложения, я не думаю, что это возможно. Разве Quartz не регистрирует задания в памяти?   -  person Bagus Tesa    schedule 09.09.2019
comment
Я регистрируюсь в приложении asp.net MVC, и в нем нет списка заданий.   -  person user2162990    schedule 09.09.2019
comment
о, это в веб-приложении? затем вы можете создать конечную точку, чтобы разрешить другому приложению запросы к вашему приложению. я считаю, что вы можете получить текущие зарегистрированные задания, используя подход, описанный в tGet все задания в Quartz.NET 2.0. если API не изменился.   -  person Bagus Tesa    schedule 09.09.2019
comment
Bagus Tesa, если именно туда запустил и ничего не возвращается. и моя работа работает правильно.   -  person user2162990    schedule 09.09.2019


Ответы (1)


Если оба приложения имеют доступ к одной и той же базе данных, я рекомендую вам обратиться к магазину заданий ADO.NET вместо RAMJobStore. Когда вы используете базу данных в качестве хранилища заданий, у вас может быть запущен планировщик в одном приложении, и вы можете считывать информацию о задании через другое приложение. Единственная проблема заключается в том, что вам нужно реализовать задания в отдельной библиотеке классов, потому что вам нужен доступ к классам для создания JobDetails.

person msestak    schedule 11.09.2019
comment
msestak, Видимо ты имеешь в виду хангфайр, но я использую Quartz.NET 3.0. Вы можете получить доступ к этой базе данных? - person user2162990; 11.09.2019
comment
Quartz.NET 3 также можно настроить для использования такой базы данных, как HangFire. Проверьте programmingkeys.blogspot.com/2018/02/ . Таким образом, если два приложения имеют одинаковую конфигурацию, второе приложение может считывать задания и триггеры. - person msestak; 11.09.2019