Documentation
¶
Index ¶
Constants ¶
const ( LabelStep = "step" LabelData = "data" )
Variables ¶
var ( UpdateUserRecommendTotal = promauto.NewGauge(prometheus.GaugeOpts{ Namespace: "gorse", Subsystem: "worker", Name: "update_user_recommend_total", }) OfflineRecommendStepSecondsVec = promauto.NewGaugeVec(prometheus.GaugeOpts{ Namespace: "gorse", Subsystem: "worker", Name: "offline_recommend_step_seconds", }, []string{LabelStep}) OfflineRecommendTotalSeconds = promauto.NewGauge(prometheus.GaugeOpts{ Namespace: "gorse", Subsystem: "worker", Name: "offline_recommend_total_seconds", }) CollaborativeFilteringIndexRecall = promauto.NewGauge(prometheus.GaugeOpts{ Namespace: "gorse", Subsystem: "worker", Name: "collaborative_filtering_index_recall", }) MemoryInuseBytesVec = promauto.NewGaugeVec(prometheus.GaugeOpts{ Namespace: "gorse", Subsystem: "worker", Name: "memory_inuse_bytes", }, []string{LabelData}) )
Functions ¶
This section is empty.
Types ¶
type FeedbackCache ¶
type FeedbackCache struct {
*config.Config
Client data.Database
Types []string
Cache cmap.ConcurrentMap
ByteCount uintptr
}
FeedbackCache is the cache for user feedbacks.
func NewFeedbackCache ¶
func NewFeedbackCache(worker *Worker, feedbackTypes ...string) *FeedbackCache
NewFeedbackCache creates a new FeedbackCache.
func (*FeedbackCache) Bytes ¶
func (c *FeedbackCache) Bytes() int
func (*FeedbackCache) GetUserFeedback ¶
GetUserFeedback gets user feedback from cache or database.
type HealthStatus ¶
type ItemCache ¶
ItemCache is alias of map[string]data.Item.
func NewItemCache ¶
func NewItemCache() *ItemCache
func (*ItemCache) GetCategory ¶
func (*ItemCache) IsAvailable ¶
IsAvailable means the item exists in database and is not hidden.
type LocalCache ¶
type LocalCache struct {
WorkerName string
// contains filtered or unexported fields
}
LocalCache for the worker node.
func LoadLocalCache ¶
func LoadLocalCache(path string) (*LocalCache, error)
LoadLocalCache loads cache from a local file.
func (*LocalCache) WriteLocalCache ¶
func (c *LocalCache) WriteLocalCache() error
WriteLocalCache writes cache to a local file.
type ScheduleState ¶
type Worker ¶
Worker manages states of a worker node.
func NewWorker ¶
func NewWorker(masterHost string, masterPort int, httpHost string, httpPort, jobs int, cacheFile string, managedMode bool) *Worker
NewWorker creates a new worker node.
func (*Worker) Recommend ¶
Recommend items to users. The workflow of recommendation is: 1. Skip inactive users. 2. Load historical items. 3. Load positive items if KNN used. 4. Generate recommendation. 5. Save result. 6. Insert cold-start items into results. 7. Rank items in results by click-through-rate. 8. Refresh cache.
func (*Worker) ScheduleAPIHandler ¶
func (w *Worker) ScheduleAPIHandler(writer http.ResponseWriter, request *http.Request)
func (*Worker) ServeHTTP ¶
func (w *Worker) ServeHTTP()
ServeHTTP serves Prometheus metrics and API.