engine

package
Version: v0.0.0-...-5b7235d Latest Latest
Warning

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

Go to latest
Published: Dec 14, 2020 License: MIT Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var AddClientChannel = make(chan messageChannel)

AddClientChannel enregistre un nouveau client

View Source
var MainMessageChannel = messageDispatch()

MainMessageChannel permet d'envoyer un SocketMessage

Functions

func CheckBatch

func CheckBatch(batch base.AdminBatch, parsers []marshal.Parser) (reports []string, err error)

CheckBatch checks batch

func CheckBatchPaths

func CheckBatchPaths(batch *base.AdminBatch) error

CheckBatchPaths checks if the filepaths of batch.Files exist

func Compact

func Compact(fromBatchKey string) error

Compact traite le compactage de la base RawData

func DeleteTranspiledFiles

func DeleteTranspiledFiles(jsRootDir string)

DeleteTranspiledFiles supprime les fichiers JavaScript résultant de la transpilation des fichiers TypeScript listés dans tsFiles.

func DiscardTuple

func DiscardTuple(tuples chan marshal.Tuple)

DiscardTuple supprime les évènements

func ExportEntreprises

func ExportEntreprises(key, filepath string) error

ExportEntreprises exporte les entreprises dans un fichier.

func ExportEtablissements

func ExportEtablissements(key, filepath string) error

ExportEtablissements exporte les établissements dans un fichier.

func GetBatch

func GetBatch(batchKey string) (base.AdminBatch, error)

GetBatch retourne le batch correspondant à la clé batchKey

func GetBatches

func GetBatches() ([]base.AdminBatch, error)

GetBatches retourne tous les objets base.AdminBatch de la base triés par ID

func GetBatchesID

func GetBatchesID() []string

GetBatchesID retourne les clés des batches contenus en base

func GetDataValidationPipeline

func GetDataValidationPipeline(jsonSchema map[string]bson.M) (pipeline []bson.M, err error)

GetDataValidationPipeline produit un pipeline pour retourner la listes des documents invalides depuis RawData ou ImportedData.

func GetEntreprisePipeline

func GetEntreprisePipeline(key string) (pipeline []bson.M)

GetEntreprisePipeline produit un pipeline pour exporter les établissements avec leur scores.

func GetEtablissementWithScoresPipeline

func GetEtablissementWithScoresPipeline(key string) (pipeline []bson.M)

GetEtablissementWithScoresPipeline produit un pipeline pour exporter les établissements avec leur scores.

func GetMD5

func GetMD5(tuple marshal.Tuple) []byte

GetMD5 returns a MD5 signature of the Tupe

func GetUndefinedDataValidationPipeline

func GetUndefinedDataValidationPipeline() (pipeline []bson.M, err error)

GetUndefinedDataValidationPipeline produit un pipeline pour détecter les entrées `undefined` depuis RawData ou ImportedData.

func ImportBatch

func ImportBatch(batch base.AdminBatch, parsers []marshal.Parser, skipFilter bool) error

ImportBatch lance tous les parsers sur le batch fourni

func ListTsFiles

func ListTsFiles(jsRootDir string) []string

ListTsFiles retourne la liste des fichiers TypeScript transpilable en JavaScript en cherchant récursivement depuis le répertoire jsRootDir.

func Load

func Load(batch *base.AdminBatch, batchKey string) error

Load charge les données d'un batch depuis la base de données

func LoadJSONSchemaFiles

func LoadJSONSchemaFiles() (jsonSchema map[string]bson.M, err error)

LoadJSONSchemaFiles cherche les Schemas JSON pour GetRawDataValidationPipeline.

func LogOperationEvent

func LogOperationEvent(reportType string, startDate time.Time)

LogOperationEvent rapporte la fin d'une opération effectuée par dbmongo.

func MRChunks

func MRChunks(queryChan chan bson.M, MRBaseJob mgo.MapReduce, tempDBprefix string, id int, wg *sync.WaitGroup)

MRChunks exécute un job MapReduce à partir d'un channel fournissant des queries

func MRroutine

func MRroutine(job *mgo.MapReduce, query bson.M, dbTemp string, collOrig string, w *MRWait, pipeChannel chan string)

MRroutine travaille dans un pool pour exécuter des jobs de mapreduce. merge et nonAtomic recommandés.

func MessageSocketAddClient

func MessageSocketAddClient()

MessageSocketAddClient surveille l'ajout de nouveaux clients pour les enregistrer dans la liste des clients

func PruneEntities

func PruneEntities(batchKey string, delete bool) (int, error)

PruneEntities permet de compter puis supprimer les entités de RawData qui auraient du être exclues par le Filtre de périmètre SIREN.

func Public

func Public(batch base.AdminBatch) error

Public traite le mapReduce public pour les entreprises et établissements du perimètre "algo2".

func PublicOne

func PublicOne(batch base.AdminBatch, key string) error

PublicOne traite le mapReduce public pour une clé unique (siren)

func PurgeBatch

func PurgeBatch(batch base.AdminBatch) error

PurgeBatch permet de supprimer tous les batch consécutifs au un batch donné dans RawData

func PurgeBatchOne

func PurgeBatchOne(batch base.AdminBatch, key string) error

PurgeBatchOne purge 1 batch pour 1 siren

func PurgeNotCompacted

func PurgeNotCompacted() error

PurgeNotCompacted permet de supprimer les objets non encore compactés c'est à dire, vider la collection ImportedData

func Reduce

func Reduce(batch base.AdminBatch, types []string) error

Reduce alimente la base Features

func ReduceOne

func ReduceOne(batch base.AdminBatch, key, from, to string, types []string) error

ReduceOne lance le calcul de Features pour la clé passée en argument

func RelayEvents

func RelayEvents(eventChannel chan marshal.Event, reportType string, startDate time.Time) (lastReport string)

RelayEvents transmet les messages

func Save

func Save(batch *base.AdminBatch) error

Save écrit les données d'un batch vers la base de données

func TranspileTsFunctions

func TranspileTsFunctions(jsRootDir string)

TranspileTsFunctions convertit les fichiers TypeScript au format JavaScript.

func ValidateDataEntries

func ValidateDataEntries(filepath string, jsonSchema map[string]bson.M, collection string) error

ValidateDataEntries retourne dans un fichier les entrées de données invalides détectées dans la collection spécifiée.

Types

type Batch

type Batch map[string]map[string]marshal.Tuple

Batch ensemble des données

func (Batch) Merge

func (batch1 Batch) Merge(batch2 Batch)

Merge union de deux objets Batch

type Chunks

type Chunks struct {
	OK        int        `bson:"ok"`
	SplitKeys []splitKey `bson:"splitKeys"`
}

Chunks est le retour de la fonction mongodb SplitKeys

func ChunkCollection

func ChunkCollection(db string, collection string, chunkSize int64) (Chunks, error)

ChunkCollection exécute la fonction SplitKeys sur la collection passée en paramètres

func (Chunks) ToQueries

func (chunks Chunks) ToQueries(query bson.M, field string) []bson.M

ToQueries translates chunks into bson queries to chunk collection by siren code

type DB

type DB struct {
	DB       *mgo.Database
	DBStatus *mgo.Database
	Status   Status
	ChanData chan *Value
}

DB type centralisant les accès à une base de données

var Db DB

Db connecteur exportable

func InitDB

func InitDB() DB

InitDB Initialisation de la connexion MongoDB

type Data

type Data struct {
	Scope string           `json:"scope" bson:"scope"`
	Key   string           `json:"key" bson:"key"`
	Batch map[string]Batch `json:"batch,omitempty" bson:"batch,omitempty"`
}

Data objet établissement (/entreprise/)

type MRWait

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

MRWait centralise les variables nécessaires à l'isolation des traitements parallèlisés MR

type SocketMessage

type SocketMessage struct {
	JournalEvent marshal.Event     `json:"journalEvent" bson:"journalEvent"`
	Batches      []base.AdminBatch `json:"batches,omitempty" bson:"batches,omitempty"`
	Features     []string          `json:"features,omitempty" bson:"features,omitempty"`
	Channel      chan SocketMessage
}

SocketMessage permet la diffusion d'information vers tous les clients

func (SocketMessage) MarshalJSON

func (message SocketMessage) MarshalJSON() ([]byte, error)

MarshalJSON fournit un objet serialisable

type Status

type Status struct {
	ID     base.AdminID  `json:"id" bson:"_id"`
	Status *string       `json:"status" bson:"status"`
	Epoch  int           `json:"epoch" bson:"epoch"`
	DB     *mgo.Database `json:"-" bson:"-"`
}

Status statut de la base de données

type Value

type Value struct {
	ID    bson.ObjectId `json:"id" bson:"_id"`
	Value Data          `json:"value" bson:"value"`
}

Value structure pour un établissement

func (Value) Merge

func (value1 Value) Merge(value2 Value) (Value, error)

Merge union de deux objets Value

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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