вы можете использовать AdoJobStore.
Quartz.net будет использовать набор таблиц с префиксом QRTZ_
(вы можете изменить его, если хотите) в вашей базе данных для сохраненных заданий, триггеров и состояния этих объектов.
Я думаю, вы хотите иметь таблицу в вашей БД, где вы будете хранить расширенную информацию о ваших расписаниях, верно?
Вы не будете обращаться к таблице Quartz.net напрямую, потому что будете использовать API, предоставляемые Quartz.net.
Процесс создания детализации задания и триггера прост и очень хорошо описан в руководствах .
Чтобы настроить ваше приложение на использование AdoJobStore , вам нужно указать немного информации в файле app.config.
Вот пример:
<quartz>
<add key="quartz.scheduler.instanceName" value="myApp" />
<add key="quartz.scheduler.instanceId" value="MyApp" />
<!-- Configure Thread Pool -->
<add key="quartz.threadPool.type"
value="Quartz.Simpl.SimpleThreadPool, Quartz" />
<add key="quartz.threadPool.threadCount" value="10" />
<add key="quartz.threadPool.threadPriority" value="Normal" />
<!-- Configure Job Store -->
<add key="quartz.jobStore.misfireThreshold" value="60000" />
<add key="quartz.jobStore.type"
value="Quartz.Impl.AdoJobStore.JobStoreTX, Quartz" />
<add key="quartz.jobStore.useProperties" value="true" />
<add key="quartz.jobStore.dataSource" value="default" />
<add key="quartz.jobStore.tablePrefix" value="QRTZ_" />
<add key="quartz.jobStore.lockHandler.type"
value="Quartz.Impl.AdoJobStore.UpdateLockRowSemaphore, Quartz" />
<add key="quartz.dataSource.default.connectionString"
value="Server=SVSQL2008;Database=QuartzNet1;Trusted_Connection=True;" />
<add key="quartz.dataSource.default.provider" value="SqlServer-20" />
</quartz>
В зависимости от того, размещаете ли вы Quartz.net в веб-приложении, в сервисе или в приложении winform, нужно учитывать несколько вещей.
Наилучшим подходом является создание SchedulerFactory и Scheduler как синглтона.
Вы можете собрать больше информации здесь .
UPDATE
Прежде всего вам нужно создать таблицы Quartz.net (см. Шаг 1 ), а затем вам нужно будет создать несколько индексов для оптимизации (см. Нижнюю часть страницы ). ).
Поскольку вы собираетесь отправлять свои задания с помощью веб-приложения, но не используете это приложение для событий quartz.net (триггеров), вам не нужно запускать планировщик.
Есть несколько шагов, чтобы следовать на этой стороне:
Вы должны изменить тип пула потоков на ZeroSizeThreadPool
<add key="quartz.threadPool.type"
value="Quartz.Simpl.ZeroSizeThreadPool, Quartz" />
и вам нужно определить синглтоны StdSchedulerFactory и Scheduler. Вы можете запустить во время загрузки приложения (asp.net).
Вы никогда не собираетесь запускать Планировщик (ваша служба Windows будет использовать это).
Еще одна вещь, которую нужно помнить, это то, что вам нужно будет разделить вашу работу между вашей сетью и службой Windows, так что было бы лучше хранить ее в отдельной сборке.
Вы упомянули, что храните информацию на одном из ваших столов.
Вам все еще нужно отправить свои задания и активировать их, которые будут сохранены в таблицах Quartz.net.