Add delays and retry logic for SetOption verification
- Wait 0.5s after sending command before first verification - Retry verification once with 0.5s delay if first attempt fails - Increase delay between commands from 0.3s to 0.5s - Add delay after enabling rules - Prevents false verification failures by giving device time to process - Avoids overwhelming device with rapid command sequences
This commit is contained in:
parent
73acc41145
commit
794eb4319b
@ -179,12 +179,22 @@ class ConsoleSettingsManager:
|
||||
if not success:
|
||||
self.logger.error(f"{device_name}: Failed to set {param_name} after 3 attempts")
|
||||
return False
|
||||
|
||||
|
||||
# Wait for device to process the command before verifying
|
||||
time.sleep(0.5)
|
||||
|
||||
# Verify the command was applied (if possible)
|
||||
if not self._verify_command(device_ip, device_name, param_name, param_value):
|
||||
self.logger.warning(f"{device_name}: Verification failed for {param_name}")
|
||||
# Don't return False here - some commands can't be verified
|
||||
|
||||
verified = self._verify_command(device_ip, device_name, param_name, param_value)
|
||||
|
||||
if not verified:
|
||||
# Wait a bit longer and try verification again
|
||||
time.sleep(0.5)
|
||||
verified = self._verify_command(device_ip, device_name, param_name, param_value)
|
||||
|
||||
if not verified:
|
||||
self.logger.warning(f"{device_name}: Verification failed for {param_name}")
|
||||
# Don't return False here - some commands can't be verified
|
||||
|
||||
# Check if this is a rule definition - if so, enable it
|
||||
if param_name.lower().startswith('rule'):
|
||||
rule_number = param_name.lower().replace('rule', '')
|
||||
@ -202,8 +212,10 @@ class ConsoleSettingsManager:
|
||||
|
||||
if not success:
|
||||
self.logger.warning(f"{device_name}: Failed to enable rule{rule_number}")
|
||||
|
||||
time.sleep(0.3) # Brief delay between commands
|
||||
|
||||
time.sleep(0.5) # Wait after enabling rule
|
||||
|
||||
time.sleep(0.5) # Delay between commands to avoid overwhelming device
|
||||
return True
|
||||
|
||||
def _verify_command(self, device_ip: str, device_name: str,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user