def job(self, payload: dict, device: Device) -> dict:
     now = datetime.now()
     path_configurations = Path.cwd() / "git" / "configurations"
     netmiko_handler = self.netmiko_connection(device)
     try:
         netmiko_handler.enable()
     except Exception:
         pass
     try:
         config = netmiko_handler.send_command(self.configuration_command)
         device.last_status = "Success"
         device.last_runtime = (datetime.now() - now).total_seconds()
         netmiko_handler.disconnect()
         if device.configurations:
             last_config = device.configurations[max(device.configurations)]
             if config == last_config:
                 return {"success": True, "result": "no change"}
         device.configurations[now] = device.current_configuration = config
         with open(path_configurations / device.name, "w") as file:
             file.write(config)
         device.last_update = now
     except Exception as e:
         netmiko_handler.disconnect()
         device.last_status = "Failure"
         device.last_failure = now
         return {"success": False, "result": str(e)}
     if len(device.configurations) > self.number_of_configuration:
         device.configurations.pop(min(device.configurations))
     return {
         "success": True,
         "result": f"Command: {self.configuration_command}"
     }
 def job(self, payload: dict, device: Device) -> dict:
     try:
         now = datetime.now()
         path_configurations = Path.cwd() / "git" / "configurations"
         path_device_config = path_configurations / device.name
         path_device_config.mkdir(parents=True, exist_ok=True)
         napalm_driver = self.napalm_connection(device)
         napalm_driver.open()
         self.logs.append(
             f"Fetching configuration on {device.name} (Napalm)")
         config = str_dict(napalm_driver.get_config())
         napalm_driver.close()
         device.last_status = "Success"
         device.last_runtime = (datetime.now() - now).total_seconds()
         if device.configurations:
             last_config = device.configurations[max(device.configurations)]
             if config == last_config:
                 return {"success": True, "result": "no change"}
         device.configurations[now] = device.current_configuration = config
         with open(path_device_config / device.name, "w") as file:
             file.write(config)
         device.last_update = now
         self.generate_yaml_file(path_device_config, device)
     except Exception as e:
         device.last_status = "Failure"
         device.last_failure = now
         self.generate_yaml_file(path_device_config, device)
         return {"success": False, "result": str(e)}
     if len(device.configurations) > self.number_of_configuration:
         device.configurations.pop(min(device.configurations))
     return {"success": True, "result": "Get Config via Napalm"}