MVC添加定时自动完成任务

原帖引自:https://www.mikesdotnetting.com/article/254/scheduled-tasks-in-asp-net-with-quartz-net

项目中有大量临时生成的文件,需要定时清理。原文定义为00:00时自动完成,改成了03:00进行自动任务。

Imports Quartz
Imports Quartz.Impl

Public Class JobScheduler
    Public Shared Sub Start()
        Dim scheduler As IScheduler = StdSchedulerFactory.GetDefaultScheduler()
        scheduler.Start()
        Dim job As IJobDetail = JobBuilder.Create(Of ScheduledTasks_Del_TempFiles)().Build()
        Dim trigger As ITrigger = TriggerBuilder.Create().WithDailyTimeIntervalSchedule(Function(s) s.WithIntervalInHours(24).OnEveryDay().StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(3, 0))).Build()
        scheduler.ScheduleJob(job, trigger)

    End Sub
End Class
Imports System.IO
Imports Quartz
Imports Quartz.Impl
Public Class ScheduledTasks_Del_TempFiles
    Implements IJob

    Public Sub Execute(context As IJobExecutionContext) Implements IJob.Execute
        'do something
        Dim rootPath As String = HttpContext.Current.Server.MapPath("~/Temp/")
        If IO.Directory.Exists(rootPath) Then
            DeleteFilesFromFolder(rootPath)
        End If
        ' Throw New NotImplementedException()
    End Sub

    Private Sub DeleteFilesFromFolder(Folder As String)
        If Directory.Exists(Folder) Then
            For Each _file As String In Directory.GetFiles(Folder)
                File.Delete(_file)
            Next
            For Each _folder As String In Directory.GetDirectories(Folder)
                DeleteFilesFromFolder(_folder)
            Next
        End If
    End Sub
End Class

Global.asax

Imports System.Web.Optimization

Public Class MvcApplication
    Inherits System.Web.HttpApplication

    Protected Sub Application_Start()
        AreaRegistration.RegisterAllAreas()
        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters)
        RouteConfig.RegisterRoutes(RouteTable.Routes)
        BundleConfig.RegisterBundles(BundleTable.Bundles)
        JobScheduler.Start()
    End Sub
End Class

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值