server

package
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 11, 2021 License: Apache-2.0 Imports: 32 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	GetRecommendSeconds = promauto.NewHistogram(prometheus.HistogramOpts{
		Namespace: "gorse",
		Subsystem: "server",
		Name:      "get_recommend_seconds",
	})
	LoadCTRRecommendCacheSeconds = promauto.NewHistogram(prometheus.HistogramOpts{
		Namespace: "gorse",
		Subsystem: "server",
		Name:      "load_ctr_recommend_cache_seconds",
	})
	LoadCollaborativeRecommendCacheSeconds = promauto.NewHistogram(prometheus.HistogramOpts{
		Namespace: "gorse",
		Subsystem: "server",
		Name:      "load_collaborative_recommend_cache_seconds",
	})
	ItemBasedRecommendSeconds = promauto.NewHistogram(prometheus.HistogramOpts{
		Namespace: "gorse",
		Subsystem: "server",
		Name:      "item_based_recommend_seconds",
	})
	UserBasedRecommendSeconds = promauto.NewHistogram(prometheus.HistogramOpts{
		Namespace: "gorse",
		Subsystem: "server",
		Name:      "user_based_recommend_seconds",
	})
	LoadLatestRecommendCacheSeconds = promauto.NewHistogram(prometheus.HistogramOpts{
		Namespace: "gorse",
		Subsystem: "server",
		Name:      "load_latest_recommend_cache_seconds",
	})
	LoadPopularRecommendCacheSeconds = promauto.NewHistogram(prometheus.HistogramOpts{
		Namespace: "gorse",
		Subsystem: "server",
		Name:      "load_popular_recommend_cache_seconds",
	})
)

Functions

func BadRequest

func BadRequest(response *restful.Response, err error)

BadRequest returns a bad request error.

func InternalServerError

func InternalServerError(response *restful.Response, err error)

InternalServerError returns a internal server error.

func LogFilter added in v0.2.2

func LogFilter(req *restful.Request, resp *restful.Response, chain *restful.FilterChain)

func Ok

func Ok(response *restful.Response, content interface{})

Ok sends the content as JSON to the client.

func PageNotFound

func PageNotFound(response *restful.Response, err error)

PageNotFound returns a not found error.

func ParseInt

func ParseInt(request *restful.Request, name string, fallback int) (value int, err error)

ParseInt parses integers from the query parameter.

func Text

func Text(response *restful.Response, content string)

Text returns a plain text.

Types

type Feedback

type Feedback struct {
	data.FeedbackKey
	Timestamp string
	Comment   string
}

Feedback is the data structure for the feedback but stores the timestamp using string.

type FeedbackIterator

type FeedbackIterator struct {
	Cursor   string
	Feedback []data.Feedback
}

FeedbackIterator is the iterator for feedback.

type Item

type Item struct {
	ItemId     string
	IsHidden   bool
	Categories []string
	Timestamp  string
	Labels     []string
	Comment    string
}

Item is the data structure for the item but stores the timestamp using string.

type ItemIterator

type ItemIterator struct {
	Cursor string
	Items  []data.Item
}

ItemIterator is the iterator for items.

type LocalCache

type LocalCache struct {
	ServerName string
	// contains filtered or unexported fields
}

LocalCache is local cache for the server node.

func LoadLocalCache

func LoadLocalCache(path string) (*LocalCache, error)

LoadLocalCache loads local cache from a file.

func (*LocalCache) WriteLocalCache

func (s *LocalCache) WriteLocalCache() error

WriteLocalCache writes local cache to a file.

type Recommender added in v0.2.5

type Recommender func(ctx *recommendContext) error

type RestServer

type RestServer struct {
	CacheClient cache.Database
	DataClient  data.Database
	GorseConfig *config.Config
	HttpHost    string
	HttpPort    int
	IsDashboard bool
	WebService  *restful.WebService
}

RestServer implements a REST-ful API server.

func (*RestServer) CreateWebService

func (s *RestServer) CreateWebService()

CreateWebService creates web service.

func (*RestServer) InsertFeedbackToCache

func (s *RestServer) InsertFeedbackToCache(feedback []data.Feedback) error

InsertFeedbackToCache inserts feedback to cache.

func (*RestServer) Recommend

func (s *RestServer) Recommend(userId, category string, n int, recommenders ...Recommender) ([]string, error)

Recommend items to users. 1. If there are recommendations in cache, return cached recommendations. 2. If there are historical interactions of the users, return similar items. 3. Otherwise, return fallback recommendation (popular/latest).

func (*RestServer) RecommendCollaborative added in v0.2.8

func (s *RestServer) RecommendCollaborative(ctx *recommendContext) error

func (*RestServer) RecommendItemBased added in v0.2.8

func (s *RestServer) RecommendItemBased(ctx *recommendContext) error

func (*RestServer) RecommendOffline added in v0.2.8

func (s *RestServer) RecommendOffline(ctx *recommendContext) error

func (*RestServer) RecommendUserBased added in v0.2.8

func (s *RestServer) RecommendUserBased(ctx *recommendContext) error

func (*RestServer) StartHttpServer

func (s *RestServer) StartHttpServer()

StartHttpServer starts the REST-ful API server.

type Server

type Server struct {
	RestServer
	// contains filtered or unexported fields
}

Server manages states of a server node.

func NewServer

func NewServer(masterHost string, masterPort int, serverHost string, serverPort int, cacheFile string) *Server

NewServer creates a server node.

func (*Server) Serve

func (s *Server) Serve()

Serve starts a server node.

func (*Server) Sync

func (s *Server) Sync()

Sync this server to the master.

type Success

type Success struct {
	RowAffected int
}

Success is the returned data structure for data insert operations.

type UserIterator

type UserIterator struct {
	Cursor string
	Users  []data.User
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL