succd: Do not exit prematurely if modbus connections fails
This commit is contained in:
		
							parent
							
								
									4e271a01a9
								
							
						
					
					
						commit
						26d297dcd3
					
				
					 2 changed files with 14 additions and 25 deletions
				
			
		| 
						 | 
				
			
			@ -6,7 +6,9 @@ import (
 | 
			
		|||
	"net/http"
 | 
			
		||||
	"os"
 | 
			
		||||
	"os/signal"
 | 
			
		||||
	"time"
 | 
			
		||||
 | 
			
		||||
	"github.com/simonvetter/modbus"
 | 
			
		||||
	"k8s.io/klog"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -55,9 +57,19 @@ func main() {
 | 
			
		|||
		}
 | 
			
		||||
		d.adcPirani = adc
 | 
			
		||||
 | 
			
		||||
		err = d.modbusConnect()
 | 
			
		||||
		// Setup modbus client
 | 
			
		||||
		d.modbusClient, err = modbus.NewClient(&modbus.ClientConfiguration{
 | 
			
		||||
			URL:     "tcp://10.250.241.20:8887",
 | 
			
		||||
			Timeout: 1 * time.Second,
 | 
			
		||||
		})
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			klog.Exitf("Failed to connect to modbus %v", err)
 | 
			
		||||
			klog.Exitf("Failed to setup modbus client %v", err)
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// Connect to modbus client
 | 
			
		||||
		err = d.modbusClient.Open()
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			klog.Warningf("Failed to connect to modbus TCP %v", err)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -12,29 +12,6 @@ func modbusValuesToFloat(v uint16) float32 {
 | 
			
		|||
	return float32(v) / 10.0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (d *daemon) modbusConnect() error {
 | 
			
		||||
	var err error
 | 
			
		||||
 | 
			
		||||
	d.mu.Lock()
 | 
			
		||||
	defer d.mu.Unlock()
 | 
			
		||||
 | 
			
		||||
	// Setup modbus client
 | 
			
		||||
	d.modbusClient, err = modbus.NewClient(&modbus.ClientConfiguration{
 | 
			
		||||
		URL:     "tcp://10.250.241.20:8887",
 | 
			
		||||
		Timeout: 1 * time.Second,
 | 
			
		||||
	})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	// Connect to modbus client
 | 
			
		||||
	err = d.modbusClient.Open()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (d *daemon) modbusRestart() error {
 | 
			
		||||
	d.modbusClient.Close()
 | 
			
		||||
	return d.modbusClient.Open()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue