如何使用Core.schedule()裝飾器來安排任務在代理內的特定時間啓動?我嘗試使用Core.schedule(截止日期,*參數,** kwargs),其中截止日期是日期和時間(即'2016-09-26 10:00:00'),但收到錯誤參數未定義。VOLTTRON中的Core.schedule裝飾器
0
A
回答
0
通常情況下,調度方法不會用作裝飾器,因爲計劃的回調只調用一次。 (我從來沒有真正做過。)
* args和** kwargs是傳遞給函數的變量參數的佔位符。請參閱http://www.saltycrane.com/blog/2008/01/how-to-use-args-and-kwargs-in-python/
在這種情況下,schedule方法使用* args和** kwargs來存儲傳入裝飾器的任何額外參數,然後將其傳遞到調用函數中。
例如,如果我有一個代理方法update_state(self,parameter1),並且我想安排在將來的某個時間運行,並由參數1的值爲42請執行以下操作:
self.core.schedule(update_time, self.update_state, 42)
update_time需要是python datetime對象或unix時間戳。
要使用它作爲裝飾,你會做這樣的事情:
Core.schedule(update_time, 42)
def update_state(self, parameter1):
pass
當UPDATE_TIME到達它會被稱爲一次。如果你想安排另一次調用update_state函數,你需要計算出新的時間,並從update_state函數中調度它。
相關問題
- 1. 裝飾裝飾器
- 2. 在Python中裝飾裝飾器
- 3. 如何在裝飾器中重用TypeScript中的裝飾器
- 4. python中的裝飾器
- 5. 類中的裝飾器
- 6. ES7中的類裝飾器
- 7. 裝飾模式裝飾器限制
- 8. Django:在其他裝飾器中重新使用login_required裝飾器
- 9. Python中的生成器裝飾器
- 10. 使用volttron-CFG配置volttron中心(VC)
- 11. Python memoization裝飾器
- 12. Django @login_required裝飾器
- 13. 裝飾渲染器
- 14. 好的Python裝飾器
- 15. Django的login_optional裝飾器?
- 16. ItemsControl內的裝飾器
- 17. Python裝飾器和裝飾器模式有什麼區別?
- 18. 如何將裝飾器與@contextmanager裝飾器混合使用?
- 19. 從裝飾器訪問擁有裝飾方法的類
- 20. 使用draper裝飾器時的裝飾方法列表
- 21. Python裝飾器處理裝飾函數的默認參數
- 22. Python 2.5中的類裝飾器?
- 23. Django中的login_required裝飾器和urlresolver.reverse()
- 24. python2中的類方法鉤裝飾器
- 25. 用TypeScript中的裝飾器擴展類
- 26. view_config裝飾器中的多個權限?
- 27. angularjs中的常量,值和裝飾器
- 28. Zend Framework中的DisplayGroup裝飾器
- 29. zend框架中的裝飾器
- 30. Python中的裝飾器鏈2.7