code: func (c *Client) UpdateIntervalAction(from contract.IntervalAction) (err error) {
  	check, err := c.IntervalActionByName(from.Name)
  	if err != nil && err != redis.ErrNil {
  		return err
  	}
  	if err == nil && from.ID != check.ID {
  		// IDs are different -> name not unique
  		return db.ErrNotUnique
  	}
  
  	from.Modified = db.MakeTimestamp()
  	err = mergo.Merge(&from, check)
  	if err != nil {
  		return err
  	}
  
  	action := models.NewIntervalAction(from)
  	data, err := json.Marshal(action)
  	if err != nil {
  		return err
  	}
  
  	conn := c.Pool.Get()
  	defer conn.Close()
  
  	_ = conn.Send("MULTI")
  	deleteObject(action, action.ID, conn)
  	addObject(data, action, action.ID, conn)
  	_, err = conn.Do("EXEC")
  
  	return err
  }
docs: // Update schedule interval action