hammer

package
v0.0.0-...-dbefbc8 Latest Latest
Warning

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

Go to latest
Published: Oct 13, 2022 License: MIT Imports: 24 Imported by: 0

README

Hammer Microservice

Hammer takes work from a HammerQueue and resolves the work from CCP's ESI Service and feeding the data into NSQ topics for consumption from other services such as Nail.

Usage

Registering the Handler

func init() {
	registerConsumer("operation", consumerFunc)
}

func killmailConsumer(s *Hammer, parameter interface{}) {
	parameters := parameter.([]interface{})

	hash := parameters[0].(string)
	id := int32(parameters[1].(int))
    ... do stuff

Documentation

Overview

Package hammer provides a queued work consumer for CCP ESI API

Index

Constants

View Source
const NUM_WORKERS = 25

NUM_WORKERS number of concurrent workers

Variables

This section is empty.

Functions

This section is empty.

Types

type ContactEntity

type ContactEntity struct {
	ID   int64
	Type string
}

ContactEntity denormalizes corporations, alliance, and characters

type FactionWarEntities

type FactionWarEntities struct {
	ID   int64  `db:"id" json:"id"`
	Name string `db:"name" json:"name"`
	Type string `db:"type" json:"type"`
}

type Hammer

type Hammer struct {
	// contains filtered or unexported fields
}

Hammer completes work handling CCP ESI and other API.

func NewHammer

func NewHammer(redis *redis.Pool, db *sqlx.DB, nsq *nsq.Producer, refresh, tokenClientID, tokenSecret string) *Hammer

NewHammer Service.

func (*Hammer) AddAlliance

func (s *Hammer) AddAlliance(allianceID int32) error

AddAlliance adds an alliance to queue

func (*Hammer) AddCharacter

func (s *Hammer) AddCharacter(characterID int32) error

AddCharacter adds a character to queue

func (*Hammer) AddCorporation

func (s *Hammer) AddCorporation(corporationID int32) error

AddCorporation adds a corporation to queue

func (*Hammer) BulkLookup

func (s *Hammer) BulkLookup(ids []int32) error

BulkLookup looks up ID to entities in bulk and adds them to the queue

func (*Hammer) ChangeBasePath

func (s *Hammer) ChangeBasePath(path string)

ChangeBasePath for ESI (sisi/mock/tranquility)

func (*Hammer) ChangeTokenPath

func (s *Hammer) ChangeTokenPath(path string)

ChangeTokenPath for ESI (sisi/mock/tranquility)

func (*Hammer) Close

func (s *Hammer) Close()

Close the hammer service

func (*Hammer) GetActiveWarsByID

func (s *Hammer) GetActiveWarsByID(id int64) ([]ContactEntity, error)

func (*Hammer) GetCharacterIDByName

func (s *Hammer) GetCharacterIDByName(character string) (int32, error)

GetCharacterIDByName checks if a character exists in the database

func (*Hammer) GetFactionWarEntitiesForID

func (s *Hammer) GetFactionWarEntitiesForID(factionID int32) ([]FactionWarEntities, error)

GetFactionWarEntitiesForID gets entities in faction war with this factionID

func (*Hammer) GetPendingWarsByID

func (s *Hammer) GetPendingWarsByID(id int64) ([]ContactEntity, error)

func (*Hammer) GetTokenSourceContext

func (s *Hammer) GetTokenSourceContext(c context.Context, characterID, tokenCharacterID int32) (context.Context, error)

GetTokenSourceContext sets a token source to a context value for authentication

func (*Hammer) QueueResult

func (s *Hammer) QueueResult(v interface{}, topic string) error

QueueResult queues a result to NSQ topic

func (*Hammer) QueueWork

func (s *Hammer) QueueWork(work []redisqueue.Work, priority int) error

QueueWork directly

func (*Hammer) Run

func (s *Hammer) Run()

Run the service

func (*Hammer) SetToken

func (s *Hammer) SetToken(cid, tcid int32, token *oauth2.Token) error

SetToken Sets a token to the store

Jump to

Keyboard shortcuts

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