Хобрук: Ваш путь к мастерству в программировании

Утечка памяти планировщика Quartz.net

У меня есть служба планировщика Windows, работающая на сервере с разным расписанием для каждого задания.

Возникли две проблемы:

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

  2. На сервере, на котором работает эта служба планировщика, диспетчер задач просто увеличивает память, а не очищает ее. Для очистки памяти перезапускается служба планировщика.

Я не знаю, есть ли способ решить эту проблему с помощью кода.

Спасибо за совет


  • Привет @Alex, ты нашел какое-нибудь решение для этого? У меня также похожая ситуация с обслуживанием планировщика с использованием кварца. 10.08.2017
  • Нет, я не нашел решения для этого, мы решили использовать веб-задания Azure вместо Quartz, вот некоторая информация, которую мы используем ссылка 10.08.2017

Ответы:


1

Кварц должен чистить после себя. Если вы внедрили пользовательскую JobFactory, обязательно отпустите свои задания после выполнения.

16.09.2016

2

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

Это включает в себя две основные функции:

Autofac.Extras.Quartz создает вложенную область действия litefime для каждого задания Quartz. Вложенная область удаляется после завершения выполнения задания.

Это позволяет иметь один экземпляр для выполнения задания, а также детерминированное распоряжение ресурсами.

Конечно, это поможет некоторым другим парням, которые сталкиваются с той же проблемой.

22.08.2017
Новые материалы

Я собираюсь научить вас Python шаг за шагом
Привет, уважаемый энтузиаст Python! 👋 Готовы погрузиться в мир Python? Сегодня я приготовил для вас кое-что интересное, что сделает ваше путешествие более приятным, чем шарик мороженого в..

Альтернатива шаблону исходящих сообщений для архитектуры микросервисов
Познакомьтесь с двухэтапным сообщением В этой статье предлагается альтернативный шаблон для папки Исходящие : двухэтапное сообщение. Он основан не на очереди сообщений, а на..

React on Rails
Основное приложение Reverb - это всеми любимый монолит Rails. Он отлично обслуживает наш API и уровень просмотра трафика. По мере роста мы добавляли больше интерактивных элементов..

Что такое гибкие методологии разработки программного обеспечения
Что представляют собой гибкие методологии разработки программного обеспечения в 2023 году Agile-методологии разработки программного обеспечения заключаются в следующем: И. Введение A...

Ториго  — революция в игре Го
Наш следующий вызов против ИИ и для ИИ. Сможет ли он победить людей в обновленной игре Го? Обратите внимание, что в следующей статье AI означает искусственный интеллект, а Goban  —..

Простое развертывание моделей с помощью Mlflow — Упаковка классификатора обзоров продуктов NLP от HuggingFace
Как сохранить свои модели машинного обучения в формате с открытым исходным кодом с помощью MLFlow, чтобы позже получить возможность легкого развертывания. Сегодня модели упаковки имеют несколько..

Математика и интуиция - Часть 1
У каждой математической формулы есть доказательство. Часто эти доказательства слишком сложно понять, поскольку многие из них основаны на индукции, некоторые - на очень сложных наблюдениях, а..