gitlab.com/SiaPrime/SiaPrime@v1.4.1/modules/stratumminer/persist.go (about)

     1  package stratumminer
     2  
     3  import (
     4  	"fmt"
     5  	"os"
     6  	"path/filepath"
     7  
     8  	"gitlab.com/SiaPrime/SiaPrime/modules"
     9  	"gitlab.com/SiaPrime/SiaPrime/persist"
    10  )
    11  
    12  const (
    13  	logFile = modules.StratumMinerDir + ".log"
    14  	//saveLoopPeriod = time.Minute * 2
    15  )
    16  
    17  // initPersist initializes the persistence of the miner.
    18  func (sm *StratumMiner) initPersist() error {
    19  	// Create the miner directory.
    20  	err := os.MkdirAll(sm.persistDir, 0700)
    21  	if err != nil {
    22  		return err
    23  	}
    24  
    25  	// Add a logger.
    26  	sm.log, err = persist.NewFileLogger(filepath.Join(sm.persistDir, logFile))
    27  	if err != nil {
    28  		return err
    29  	}
    30  	sm.tg.AfterStop(func() error {
    31  		if err := sm.log.Close(); err != nil {
    32  			return fmt.Errorf("log.Close failed: %v", err)
    33  		}
    34  		return nil
    35  	})
    36  	return nil
    37  }