Mise en place projet R
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
# r-microservice — Squelette de microservice R (Plumber)
|
||||
|
||||
Ce projet expose des fonctions R via une API REST **Plumber**, avec:
|
||||
- des **fonctions génériques** réutilisables (HTTP, DB, utils, logs),
|
||||
- des **fonctions spécifiques** au projet (prétraitement, calculs, post-traitement),
|
||||
- un **endpoint** `/compute` permettant soit de **renvoyer un résultat**, soit **d'insérer en base** et retourner un **code retour**.
|
||||
|
||||
## Lancer en local
|
||||
```bash
|
||||
Rscript scripts/run.R
|
||||
# Puis: http://localhost:8080/health
|
||||
```
|
||||
|
||||
## Exemple d'appel
|
||||
```bash
|
||||
curl -s -X POST http://localhost:8080/compute -H 'Content-Type: application/json' -d '{"values":[10,12,15,20], "write_to_db": false}' | jq
|
||||
```
|
||||
|
||||
## Docker
|
||||
```bash
|
||||
docker build -t r-microservice .
|
||||
docker run -p 8080:8080 --rm r-microservice
|
||||
```
|
||||
|
||||
> Pour les insertions en base, configurez `config/config.yml` avec vos paramètres Postgres.
|
||||
|
||||
## Tests
|
||||
```r
|
||||
testthat::test_dir('tests/testthat')
|
||||
```
|
||||
Reference in New Issue
Block a user