我想使用Quartz作爲腳本調度程序,從GUI編寫VB,然後選擇一個觸發器,然後在觸發器上編譯和執行代碼,難點是如何處理它以便它在應用程序上下文中運行此腳本,以便它可以訪問我的實體框架模型等。我將如何實現這一目標?Quartz在運行時編譯作業腳本?
6
A
回答
4
基本上你需要的是把Quartz.Server放在你的應用程序之上。將此項目添加到您的解決方案。
如果您只需要在石英作業中使用您的實體,然後添加您的項目作爲Quartz.Server的參考,並像您在主應用中一樣使用實體。
如果您使用某個IoC容器,那麼您可以使用擴展名this將依賴注入到作業中。或者您可以編寫自己的SchedulerFactory和JobFactory,並在此構建您的作業環境。
+0
嗨阿列克謝,我在這方面取得了一些進展,請你看看我的其他問題? http://stackoverflow.com/questions/38309777/accessing-local-types-from-script-executed-with-vbcodeprovider –
相關問題
- 1. Quartz Scheduler只有在沒有運行時才執行作業
- 2. 在後臺運行Cron作業腳本並運行15小時
- 3. 運行錯過的Quartz作業
- 4. 在cron作業中運行腳本
- 5. 如何避免兩個作業同時在Quartz中運行?
- 6. 如何在運行時管理Quartz作業的集羣模式?
- 7. cron作業沒有運行腳本
- 8. Cron作業PHP腳本不會運行
- 9. cron作業沒有運行bash腳本
- 10. 完成sge作業後運行腳本
- 11. Cron作業來運行php腳本
- 12. pyinstall編譯腳本無法運行
- 13. h2數據庫:運行腳本編譯
- 14. bash腳本來編譯和運行C++
- 15. 如何強制預編譯腳本在每次編譯時運行
- 16. 在CRON作業中運行Python腳本編碼時遇到的問題
- 17. Bash腳本編寫作業
- 18. Eclipse在運行時沒有將Groovy腳本編譯爲java類
- 19. 運行php腳本作爲cron作業 - 超時問題?
- 20. 時區在Mule Quartz cron作業
- 21. PBS腳本(串行作業)的作業執行時間
- 22. 在集羣Quartz中獲得運行作業
- 23. Spring Quartz Scheduler - 在另一個完成後運行作業
- 24. 如何在Quartz中運行錯過的作業?
- 25. 當部署在tomcat 6/Ubuntu 10.04LTS上運行Quartz作業兩次
- 26. Quartz Java在多臺計算機上運行作業
- 27. 如何檢查作業是否在Quartz Framework中運行
- 28. 如何讓Quartz作業在多ApplicationContext環境中運行?
- 29. 在編譯時運行PublicResXFileCodeGenerator
- 30. 簡單的Powershell腳本在編譯或作爲腳本運行時不起作用
自從我使用Quartz(我假設你的意思是Quartz.net)已經很長時間了,但是iirc除了一些字符串數據之外不能注入任何東西進入石英工作。我之前解決這個問題的方式是通過從被執行的作業中訪問全局狀態(通過我的IoC或靜態變量),這感覺非常混亂。我不知道如果石英現在有DI支持,但我猜它不是:( – cwap
@cwap當然,這將工作,但字符串可能是一些VB執行? –
它可能會,但字符串將需要根據你的石英儲存設置和字符串長度,這可能是一個問題。查看JobDataMap(http://www.quartz-scheduler.net/documentation/quartz-2.x/tutorial/more-這個問題是所有的石英工作都必須完全可序列化到石英數據模型中,所以動態數據和集合是不可行的。我猜像腳本可以工作,儘管我會親自選擇在其他地方構建腳本存儲,就像在文件系統上的單獨數據庫或文件夾中一樣。 – cwap