cronjob喜欢施工以执行繁重的网站工作?

时间:2013-05-07 22:48:11

标签: asp.net vb.net scheduled-tasks

我需要导入大量的产品Feed,这需要花费大量时间。 我尝试将importfeeds.aspx页面上的Server.ScriptTimeout设置为一小时,并按顺序和异步执行我的任务。

但我更想要的是几个较小的应用程序,我可以计划运行它们来执行单个任务。另外,因为当1个任务失败时,我仍然希望执行其他任务,因为各个任务不相互依赖。

最好的方法是什么?

  1. 创建单个网页,每个网页通过Windows任务计划程序执行一次播放和计划呼叫? (似乎是一种解决方法)
  2. ....?
  3. 谢谢!

1 个答案:

答案 0 :(得分:0)

使用 global.asax
global.asax 中,应用程序启动时会调用方法 Application_Start
Application_Start 方法中运行一个线程,并在 Application_End 中终止该线程。
以下是示例代码:

Public Class job
    Public Property StopThread As Boolean = False
    Public Sub DoJob()

        Do While Not StopThread
            If Now.Minute = 0 Then
                'Do Sync Work
            End If
            Threading.Thread.Sleep(1000 * 60)
        Loop
    End Sub
End Class



Public Class Global_asax
    Inherits HttpApplication

    Private j As job
    Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)

        j = New job
        Dim JobThread As System.Threading.Thread
        JobThread = New Threading.Thread(AddressOf j.DoJob)
        JobThread.Start()

    End Sub


    Sub Application_End(ByVal sender As Object, ByVal e As EventArgs)
        j.StopThread = True
    End Sub
End Class