kestra-io / kestra-io/plugin-scripts
Task runner plugin docs are loaded too eagerly (replace script plugin docs sometimes)
- Lingua principale
- Java
- Stelle
- 19
- Fork
- 33
- Merge medio
- 2g 12h
- PR unite (30g)
- 9
Descrizione
### Issue description
Nothing major, just a small annoyance that often the task runner plugin docs takes precedence when it shouldn't. To reproduce, try to navigate to any script plugin property defined after task runner -- instead of seeing script plugin docs, you'll see task runner docs.
Demo https://share.descript.com/view/p5dGR4nODx7
reproducer - navigate the cursor to script or commands and open plugin docs. You'll see task runner docs even though you expect to see dbt or python docs:
```yaml
id: dwh_and_analytics
namespace: tutorial
tasks:
- id: dbt
type: io.kestra.plugin.core.flow.WorkingDirectory
tasks:
- id: clone_repository
type: io.kestra.plugin.git.Clone
url: https://github.com/kestra-io/dbt-demo
branch: main
- id: dbt_build
type: io.kestra.plugin.dbt.cli.DbtCLI
taskRunner:
type: io.kestra.plugin.scripts.runner.docker.Docker
containerImage: ghcr.io/kestra-io/dbt-duckdb:latest
commands:
- dbt deps
- dbt build
profiles: |
jaffle_shop:
outputs:
dev:
type: duckdb
path: dbt.duckdb
extensions:
- parquet
fixed_retries: 1
threads: 16
timeout_seconds: 300
target: dev
- id: python
type: io.kestra.plugin.scripts.python.Script
outputFiles:
- "*.csv"
taskRunner:
type: io.kestra.plugin.scripts.runner.docker.Docker
containerImage: ghcr.io/kestra-io/duckdb:latest
script: >
import duckdb
import pandas as pd
conn = duckdb.connect(database='dbt.duckdb', read_only=False)
tables_query = "SELECT table_name FROM information_schema.tables WHERE
table_schema = 'main';"
tables = conn.execute(tables_query).fetchall()
# Export each table to CSV, excluding tables that start with 'raw' or
'stg'
for table_name in tables:
table_name = table_name[0]
# Skip tables with names starting with 'raw' or 'stg'
if not table_name.startswith('raw') and not table_name.startswith('stg'):
query = f"SELECT * FROM {table_name}"
df = conn.execute(query).fetchdf()
df.to_csv(f"{table_name}.csv", index=False)
conn.close()
```
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Riproduci il problema con l’esempio YAML navigando fino alle proprietà script o commands e aprendo la documentazione dei plugin. Traccia la risoluzione e l’ordine di caricamento della documentazione per i plugin task runner e script; il lavoro è completato quando per queste proprietà viene mostrata la documentazione di dbt o Python invece della documentazione di task runner.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- developer-experience, tooling
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 38/100