V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
12tall
V2EX  ›  .NET

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

  •  1
     
  •   12tall · 2019-08-01 15:18:48 +08:00 · 3339 次点击
    这是一个创建于 1701 天前的主题,其中的信息可能已经有所发展或是发生改变。

    菜鸟准备采用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类定时也会出现这种情况),请问有大神遇到过这种情况吗,有什么解决方法呢,谢谢(●'◡'●)

    mcdull619
        1
    mcdull619  
       2019-08-01 15:27:34 +08:00
    发到博客园会比这里好点.
    12tall
        2
    12tall  
    OP
       2019-08-01 16:34:44 +08:00
    @mcdull619 好的 谢谢!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5241 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 09:39 · PVG 17:39 · LAX 02:39 · JFK 05:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.