Как использовать Quartz.net с ASP.NET

Попробуйте это:

[ -f /etc/gshadow.lock ] && sudo rm /etc/gshadow.lock
[ -f /etc/shadow.lock ] && sudo rm /etc/shadow.lock
[ -f /etc/passwd.lock ] && sudo rm /etc/passwd.lock
[ -f /etc/group.lock ] && sudo rm /etc/group.lock
sudo dpkg --configure -a
72
задан M4N 3 November 2014 в 08:43
поделиться

1 ответ

У вас есть несколько вариантов в зависимости от того, что вы хотите сделать и как вы хотите это настроить. Например, вы можете установить сервер Quartz.Net как автономную службу Windows или встроить его в свое приложение asp.net.

Если вы хотите запустить его встроенным, то вы можете запустить сервер, скажем, с вашего глобального сервера. asax, вот так (из примеров исходного кода, пример №12):

NameValueCollection properties = new NameValueCollection();
properties["quartz.scheduler.instanceName"] = "RemoteServer";

// set thread pool info
properties["quartz.threadPool.type"] = "Quartz.Simpl.SimpleThreadPool, Quartz";
properties["quartz.threadPool.threadCount"] = "5";
properties["quartz.threadPool.threadPriority"] = "Normal";

ISchedulerFactory sf = new StdSchedulerFactory(properties);
IScheduler sched = sf.GetScheduler();
sched.Start();

Если вы запустите его как службу, вы подключитесь к нему удаленно следующим образом (из примера №12):

NameValueCollection properties = new NameValueCollection();
properties["quartz.scheduler.instanceName"] = "RemoteClient";

// set thread pool info
properties["quartz.threadPool.type"] = "Quartz.Simpl.SimpleThreadPool, Quartz";
properties["quartz.threadPool.threadCount"] = "5";
properties["quartz.threadPool.threadPriority"] = "Normal";

// set remoting expoter
properties["quartz.scheduler.proxy"] = "true";
properties["quartz.scheduler.proxy.address"] = "tcp://localhost:555/QuartzScheduler";
// First we must get a reference to a scheduler
ISchedulerFactory sf = new StdSchedulerFactory(properties);
IScheduler sched = sf.GetScheduler();

Как только у вас будет ссылка в планировщик (будь то удаленное взаимодействие или наличие встроенного экземпляра), вы можете планировать задания следующим образом:

// define the job and ask it to run
JobDetail job = new JobDetail("remotelyAddedJob", "default", typeof(SimpleJob));
JobDataMap map = new JobDataMap();
map.Put("msg", "Your remotely added job has executed!");
job.JobDataMap = map;
CronTrigger trigger = new CronTrigger("remotelyAddedTrigger", "default", "remotelyAddedJob", "default", DateTime.UtcNow, null, "/5 * * ? * *");
// schedule the job
sched.ScheduleJob(job, trigger);

Вот ссылка на некоторые сообщения, которые я написал для людей, начинающих работать с Quartz.Net: http://jvilalta.blogspot.com/2009/03/getting-started-with-quartznet-part-1.html

77
ответ дан 24 November 2019 в 12:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: