Можно ли запустить, а затем остановить агента по расписанию, скажем, запустить в 12 часов вечера, а затем останавливаться в 1 вечера каждый день. Благодарю.Можно ли планировать запуск агента в VOLTTRON в определенное время?
1
A
ответ
1
Один из способов - установить задание cron, которое запускает startter_uuid для запуска volttron-ctl, а затем другой, который его останавливает.
Другой способ заключается в том, чтобы просто запустить агент и добавить периодическое число, которое может запускаться каждые 24 часа, которое будет выполняться через 24 часа с момента запуска агента.
2
У вас есть несколько вариантов.
- Вы можете сделать, как предлагает Крейг, и начать и остановить его с помощью задания cron. Мне не нравится эта идея, поскольку она противоречит цели агента, который всегда должен быть включен.
- Ваш агент может следить за публикацией устройства, чтобы начать появляться с отметками времени, которые попадают в желаемый период времени (это распространенный метод).
- Ваш агент может планировать устройства на требуемый период времени (если вы собираетесь посылать управляющие сигналы), а затем подписаться на тему анонса расписания и следить за началом расписания.
- Вы можете запланировать периодический вызов функции, который будет запущен в начале блока.
- Как и 4, вы можете использовать расписание вместо периодического. Вы должны запланировать следующее событие, так как расписание будет вызывать только обратный вызов один раз, но это полезно для событий, которые динамически изменяются во время выполнения. Агент привода использует это для публикации состояний расписания.
В течение 2-5 лет агент в течение длительного времени будет оставаться бездействующим и только активируется в течение отведенного времени.
+0
Мне нравится ответ Кайла лучше, чем у меня. – Craig
Я думаю, вы имеете в виду каждые 24 часа? –