engine

package
v0.0.0-...-f3acd81 Latest Latest
Warning

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

Go to latest
Published: Jun 20, 2023 License: MIT Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var AddClientChannel = make(chan messageChannel)

AddClientChannel enregistre un nouveau client

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 CreateImportedDataCollection

func CreateImportedDataCollection(db *mgo.Database, colName string) error

CreateImportedDataCollection créée une collection "ImportedData" avec index et validation de documents.

func DiscardTuple

func DiscardTuple(tuples chan marshal.Tuple)

DiscardTuple supprime les évènements

func ExportEntreprises

func ExportEntreprises(key string) error

ExportEntreprises exporte les entreprises dans un fichier.

func ExportEtablissements

func ExportEtablissements(key string) error

ExportEtablissements exporte les établissements dans un fichier.

func FlushEventQueue

func FlushEventQueue()

FlushEventQueue finalise l'insertion des événements dans Journal.

func FlushImportedData

func FlushImportedData(channel chan *Value)

FlushImportedData finalise l'insertion des données dans ImportedData.

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 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 Tuple

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, data chan *Value) error

ImportBatch lance tous les parsers sur le batch fourni

func InitEventQueue

func InitEventQueue()

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

func InitVoidEventQueue

func InitVoidEventQueue()

InitVoidEventQueue initialise un canal consommé sans envoi à la base de données, pour les tests automatisés

func InsertIntoImportedData

func InsertIntoImportedData(db *mgo.Database) chan *Value

InsertIntoImportedData retourne un canal dont les objets seront ajoutés à la collection ImportedData, par paquets de 100.

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 sfdata.

func LogOperationEventEx

func LogOperationEventEx(reportType string, startDate time.Time, comment interface{})

LogOperationEventEx rapporte la fin d'une opération effectuée par sfdata, tout en permettant l'ajout d'un commentaire.

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 MakeMapReduceJob

func MakeMapReduceJob(jsDirName string, params bson.M) (*mgo.MapReduce, error)

MakeMapReduceJob construit une requête MapReduce à partir d'un bundle de fonctions JavaScript et de paramètres à leur transmettre.

func MakeValidationSchemaForImportedData

func MakeValidationSchemaForImportedData(schemaPerHashedDataType map[string]bson.M) bson.M

MakeValidationSchemaForImportedData génère un schéma pour valider les documents JSON de ImportedData.

func MakeValidationSchemaPerHashedDataType

func MakeValidationSchemaPerHashedDataType(jsonSchemas map[string]bson.M) map[string]bson.M

MakeValidationSchemaPerHashedDataType génère un dictionnaire associant chaque type de données à un JSON Schema permettant de valider les données correspondantes, rattachées à un Hash. (cf structure de ImportedData)

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) (reports []string)

RelayEvents transmet les événements qui surviennent pendant le parsing d'un fichiers de données et retourne le rapport final du parsing de ce fichier.

func ValidateDataEntries

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

ValidateDataEntries affiche 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
}

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 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