如何使用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. python中的装饰器
- 6. 类中的装饰器
- 7. ES7中的类装饰器
- 8. Python装饰器
- 9. 与装饰器
- 10. 装饰模式装饰器限制
- 11. 在春天自动装饰装饰器
- 12. Django:在其他装饰器中重新使用login_required装饰器
- 13. 使用volttron-CFG配置volttron中心(VC)
- 14. 装饰django发布保存在装饰器中的模型类
- 15. Angular中的单元测试装饰器,装饰$ log服务
- 16. 装饰器是不同于装饰器的功能类吗?
- 17. 芹菜@task装饰器后的装饰器
- 18. Sitemesh 2.4.2:如何使用除装饰器之外的装饰器
- 19. 使用装饰器,(rails)无法推断ActiveRecord :: Base的装饰器
- 20. Python中的生成器装饰器
- 21. 装饰渲染器
- 22. 切换装饰器
- 23. Django @login_required装饰器
- 24. 创建装饰器
- 25. Python memoization装饰器
- 26. 访问在装饰器之外的装饰器中创建的函数属性
- 27. Django的login_optional装饰器?
- 28. ItemsControl内的装饰器
- 29. 嵌套的python装饰器?
- 30. NumbaPro(Python)装饰器的NotImplementedError