如何創建一個thread
或每一小時運行一次的任務?例如,要根據時間更新數據庫中的數據。我可以在Global.asax
文件中創建Application_Start()
方法中的線程,是嗎?如何創建每小時運行一次函數的線程? APS.NET WebApi
3
A
回答
3
一般:你沒有。
您提供一個觸發操作的終點(URL)並每小時調用一次。這顯然可以自動發生。
例如http://www.mywebcron.com/可以每小時打一次電話給您,沒有任何問題。
這樣可以避免一旦成長(多個Web服務器)或重新啓動應用程序時遇到的所有問題。
ASP.NET很多 - 它不是一個調度器。
2
我不是一個從asp.net運行計劃任務的忠實粉絲,但是如果你需要,你可以使用同樣的方法來使用和觸發CacheItemRemoved上的事件。 你可以看到Jeff Attwood的博客文章here。但基本上只需訂閱CacheItemRemoved事件並從那裏啓動您的任務。
private static CacheItemRemovedCallback OnCacheRemove = null;
protected void Application_Start(object sender, EventArgs e)
{
AddTask("DoStuff", 60);
}
private void AddTask(string name, int seconds)
{
OnCacheRemove = new CacheItemRemovedCallback(CacheItemRemoved);
HttpRuntime.Cache.Insert(name, seconds, null,
DateTime.Now.AddSeconds(seconds), Cache.NoSlidingExpiration,
CacheItemPriority.NotRemovable, OnCacheRemove);
}
public void CacheItemRemoved(string k, object v, CacheItemRemovedReason r)
{
// do stuff here if it matches our taskname, like WebRequest
// re-add our task so it recurs
AddTask(k, Convert.ToInt32(v));
}
相關問題
- 1. 每小時運行一次java函數
- 2. 如何讓OpenMP在每次運行程序時只創建一次線程?
- 3. 我每24小時使用一次javascript函數運行一次?
- 4. 創建一個每24小時運行一次的事件?
- 5. VPython:迭代函數來創建每次運行的新曲線
- 6. JavaScript - 如何創建一次只能運行一次的函數?
- 7. 創建一個後臺線程,每4小時執行一次命令
- 8. 運行時線程創建
- 9. 創建線程每次的新實例,我想運行與否
- 10. 每12小時運行一次javascript
- 11. 每小時運行一次aspx文件
- 12. 如何在每次使用Java運行程序時創建一個新文件
- 13. 如何每隔一小時運行一次廣播接收器?
- 14. 如何創建使用java每30secs應該運行的線程?
- 15. 每30秒運行一次函數javascript
- 16. 每次在django中創建另一行時創建一行
- 17. 創建一個計時器,每秒鐘運行一次?
- 18. 如何在php中創建一個文件到線程的運行函數?
- 19. 創建一個線程來運行Postgres存儲函數
- 20. 如何在每次調整HTML元素的大小時運行JavaScript函數?
- 21. 如何在每隔幾分鐘運行一次的單線程程序中創建一個循環? (JAVA)
- 22. 如何創建計時器? (每X秒/分鐘/小時執行一次)
- 23. 使用SQLAlchemy創建數據庫一次,而不是每次程序運行時都重新創建它
- 24. 如何每2小時運行一次cron作業
- 25. 如何每36小時運行一次crontab
- 26. 如何在後臺每四個小時運行一次sunspot reindex
- 27. 如何創建和運行新線程?
- 28. 如何在android應用程序處於後臺時每小時運行一次函數?
- 29. 如何讓我的函數在Python中每秒運行一次?
- 30. 如何在每次運行一個函數時增加一個數字?
它可以使用單獨的控制檯應用程序完成。創建控制檯應用程序並安排它每小時運行一次。 –
我的網站託管在'somee.com' asp.net服務器上,我認爲它無法運行控制檯應用程序。這可以通過'虛擬專用服務器'完成 –