在 Global.asax 中添加了一个定时任务,结果 IIS 占用内存一直在涨

2019-08-01 15:18:48 +08:00
 12tall

菜鸟准备采用Quartz.NET实现一个定时任务,随网站启动。

任务代码很简单:

public class Job1 : IJob
    {
        public async Task Execute(IJobExecutionContext context)
        {
        	// 写入日志到文件
            Log.log("测试", "ceshi");
        }
    }

Global.ashx 代码如下:

    public class Global : System.Web.HttpApplication
    {
        static StdSchedulerFactory factory;
        static IScheduler scheduler;

        protected void Application_Start(object sender, EventArgs e)
        {
            Log.log("网站已启动", "");
            RunProgram().GetAwaiter().GetResult();
        }
        
        // 无关代码省略了

        // RunProgram 根据官方示例改的
        private static async System.Threading.Tasks.Task RunProgram()
        {
            try
            {
                factory = new StdSchedulerFactory();
                scheduler = await factory.GetScheduler();

                await scheduler.Start();

                IJobDetail job = JobBuilder.Create<Job1>()
                    .WithIdentity("test", "test")
                    .Build();

                ITrigger trigger = TriggerBuilder.Create()
                    .WithIdentity("machineOnline", "machineOnline")
                    .StartNow()
                    // 每 10s 执行一次
                    .WithCronSchedule("/10 * * * * ?")
                    .Build();

                // Tell quartz to schedule the job using our trigger
                await scheduler.ScheduleJob(job, trigger);
            }
            catch (SchedulerException se)
            {
                await Console.Error.WriteLineAsync(se.ToString());
            }
        }
    }

上面这段代码发布到IIS 之后,站点占用的内存就一直在不停的增长(其实用Timer类定时也会出现这种情况),请问有大神遇到过这种情况吗,有什么解决方法呢,谢谢(●'◡'●)

3479 次点击
所在节点    .NET
2 条回复
mcdull619
2019-08-01 15:27:34 +08:00
发到博客园会比这里好点.
12tall
2019-08-01 16:34:44 +08:00
@mcdull619 好的 谢谢!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/588220

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX