data_drain 0.5.0 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -0
- data/README.md +8 -4
- data/lib/data_drain/version.rb +1 -1
- data/skill/SKILL.md +1 -1
- data/skill/references/eventos-telemetria.md +9 -0
- metadata +3 -3
- /data/docs/execution/{v0.5.0-OBSERVACIONES.md → archives/v0.5.0-OBSERVACIONES.md} +0 -0
- /data/docs/execution/{v0.5.0.md → archives/v0.5.0.md} +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 036367c9d2512c4a9a2785bbef6efeaaf9ee013ee31c013e1527001f91f22d65
|
|
4
|
+
data.tar.gz: c7dc050b51c3024ad9e2e62ae57e28bb549fee9a0341aea5ee524d4b55a07da5
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9ed7fb071a8d1f0c103c44c402279b9b575b535944a21db6f260b5d2aa4da2675f56095a9d79d1054c8e4c48ac578a955673befde82a84ca030ee508adf11e8e
|
|
7
|
+
data.tar.gz: f4c3665f97d5f4c287f70a715bd4fc36264bae977f868bb5f062bade177527cb6bfb10dbaf6c83fb6280ab2fce4787bf8abc1789fa9fb5893ac99f3a0a2b1ee0
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
## [Unreleased]
|
|
2
2
|
|
|
3
|
+
## [0.5.1] - 2026-04-15
|
|
4
|
+
|
|
5
|
+
### Docs
|
|
6
|
+
|
|
7
|
+
- `skill/references/eventos-telemetria.md`: nuevos eventos `script_uploaded` y `script_upload_error`.
|
|
8
|
+
- `README.md`: ejemplos de `script_path` en GlueRunner y observabilidad.
|
|
9
|
+
|
|
3
10
|
## [0.5.0] - 2026-04-15
|
|
4
11
|
|
|
5
12
|
### Features
|
data/README.md
CHANGED
|
@@ -115,11 +115,13 @@ DataDrain::GlueRunner.job_exists?("my-glue-export-job")
|
|
|
115
115
|
job = DataDrain::GlueRunner.get_job("my-glue-export-job")
|
|
116
116
|
# => Aws::Glue::Types::Job (Name, Command, DefaultArguments, etc.)
|
|
117
117
|
|
|
118
|
-
# Crear un job
|
|
118
|
+
# Crear un job con script local (v0.5.0+)
|
|
119
119
|
job = DataDrain::GlueRunner.create_job(
|
|
120
120
|
"my-glue-export-job",
|
|
121
121
|
role_arn: "arn:aws:iam::123:role/GlueServiceRole",
|
|
122
|
-
|
|
122
|
+
script_path: "scripts/glue/export.py", # local → S3 automático
|
|
123
|
+
script_bucket: "my-bucket",
|
|
124
|
+
script_folder: "scripts",
|
|
123
125
|
default_arguments: { "--extra-files" => "s3://my-bucket/scripts/udf.py" },
|
|
124
126
|
timeout: 1440,
|
|
125
127
|
max_retries: 2
|
|
@@ -129,8 +131,9 @@ job = DataDrain::GlueRunner.create_job(
|
|
|
129
131
|
job = DataDrain::GlueRunner.ensure_job(
|
|
130
132
|
"my-glue-export-job",
|
|
131
133
|
role_arn: "arn:aws:iam::123:role/GlueServiceRole",
|
|
132
|
-
|
|
133
|
-
|
|
134
|
+
script_path: "scripts/glue/export.py",
|
|
135
|
+
script_bucket: "my-bucket",
|
|
136
|
+
script_folder: "scripts"
|
|
134
137
|
)
|
|
135
138
|
|
|
136
139
|
# Eliminar un job
|
|
@@ -198,6 +201,7 @@ ArchivedVersion.destroy_all(year: 2024, month: 3) # un mes globalmente
|
|
|
198
201
|
```
|
|
199
202
|
component=data_drain event=engine.complete table=versions duration_s=12.4 export_duration_s=8.1 purge_duration_s=3.9 count=150000
|
|
200
203
|
component=data_drain event=engine.purge_heartbeat table=versions batches_processed_count=100 rows_deleted_count=500000
|
|
204
|
+
component=data_drain event=glue_runner.script_uploaded local_path=scripts/glue/export.py s3_path=s3://my-bucket/scripts/export.py bytes=4521
|
|
201
205
|
component=data_drain event=glue_runner.failed job=my-export-job run_id=jr_abc123 status=FAILED duration_s=301.0
|
|
202
206
|
```
|
|
203
207
|
|
data/lib/data_drain/version.rb
CHANGED
data/skill/SKILL.md
CHANGED
|
@@ -70,7 +70,7 @@ DataDrain resuelve el ciclo de vida de datos históricos en bases relacionales c
|
|
|
70
70
|
|
|
71
71
|
- Ruby `>= 3.2.0`
|
|
72
72
|
- Runtime: `activemodel >= 6.0`, `duckdb ~> 1.4`, `pg >= 1.2`, `aws-sdk-s3 ~> 1.114`, `aws-sdk-glue ~> 1.0`
|
|
73
|
-
- Versión actual: `0.5.
|
|
73
|
+
- Versión actual: `0.5.1`
|
|
74
74
|
|
|
75
75
|
## API Pública (resumen)
|
|
76
76
|
|
|
@@ -115,6 +115,15 @@ Catálogo completo de eventos KV emitidos por DataDrain. Formato Wispro-Observab
|
|
|
115
115
|
**Nivel:** INFO. Emite antes de `start_job_run`.
|
|
116
116
|
**Campos:** `job`.
|
|
117
117
|
|
|
118
|
+
### `glue_runner.script_uploaded`
|
|
119
|
+
**Nivel:** INFO. Emite tras subir un script a S3 (v0.5.0+).
|
|
120
|
+
**Campos:** `local_path`, `s3_path`, `bytes`.
|
|
121
|
+
|
|
122
|
+
### `glue_runner.script_upload_error`
|
|
123
|
+
**Nivel:** ERROR. Emite si el upload a S3 falla (v0.5.0+).
|
|
124
|
+
**Campos:** `local_path`, `bucket`, `error_class`, `error_message`.
|
|
125
|
+
**Consecuencia:** propaga el `Aws::S3::Errors::ServiceError`.
|
|
126
|
+
|
|
118
127
|
### `glue_runner.job_exists`
|
|
119
128
|
**Nivel:** INFO. Emite en `ensure_job` cuando el job ya existe y se actualiza.
|
|
120
129
|
**Campos:** `job`.
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: data_drain
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.5.
|
|
4
|
+
version: 0.5.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Gabriel
|
|
@@ -104,11 +104,11 @@ files:
|
|
|
104
104
|
- docs/execution/archive/v0.3.0.md
|
|
105
105
|
- docs/execution/archive/v0.3.1-OBSERVACIONES.md
|
|
106
106
|
- docs/execution/archive/v0.3.1.md
|
|
107
|
+
- docs/execution/archives/v0.5.0-OBSERVACIONES.md
|
|
108
|
+
- docs/execution/archives/v0.5.0.md
|
|
107
109
|
- docs/execution/v0.2.2.md
|
|
108
110
|
- docs/execution/v0.4.0-OBSERVACIONES.md
|
|
109
111
|
- docs/execution/v0.4.0.md
|
|
110
|
-
- docs/execution/v0.5.0-OBSERVACIONES.md
|
|
111
|
-
- docs/execution/v0.5.0.md
|
|
112
112
|
- docs/glue-jobs-lifecycle.md
|
|
113
113
|
- docs/glue_pyspark_example.py
|
|
114
114
|
- lib/data_drain.rb
|
|
File without changes
|
|
File without changes
|