Typed input and output
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- ruby
- Área
- backend, distributed-systems
Línea de trabajo
Empieza por lib/temporal/concerns/typed.rb en la línea 22 y revisa cómo gestionan actualmente las actividades y los workflows la serialización de entradas y salidas. El issue necesita un enfoque acordado para la validación reutilizable con dry-struct, las salidas tipadas y la validación antes de la activación del workflow; el trabajo estará terminado cuando incluya una API definida y tests para cada comportamiento.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Hi! I am trying to get rid of JSON.parse(input) and JSON.dump(output) in activities/workflows and wanted to define Input and Output classes with dry-struct to define the structure.
Then I found this line in https://github.com/coinbase/temporal-ruby/blob/master/lib/temporal/concerns/typed.rb#L22
unless klass.is_a?(Dry::Types::Type)
Now I am stuck on how to make reusable structs with validation for workflow/activity params. I have three questions:
- Does it make sense to change condition in typed.rb to allow dry structs?
- How I can add typed output, so I don't need to serialize and deserialize outputs multiple time?
- Any best practices to validate inputs before activating the workflow?
Any ideas how to solve this?
- Lenguaje dominante
- Ruby
- Estrellas
- 288
- Forks
- 113
- Merge medio
- 10 d 15 h
- PR fusionados (30 d)
- 2
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de coinbase/temporal-ruby
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
coinbase/temporal-ruby#361 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
coinbase/temporal-ruby#341 ·
-
Emitting Metrics for Prometheus Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
coinbase/temporal-ruby#328 · 1 comentario ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
coinbase/temporal-ruby#326 · 1 comentario ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
coinbase/temporal-ruby#324 · 3 comentarios · 2 reacciones ·
Todos los issues de coinbase/temporal-ruby
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Please Drop ruby 3.2 support Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
googleapis/google-api-ruby-client#28001 · 5 reacciones ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100