Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

データパイプラインの大枠を設計する #44

Closed
sorami opened this issue Dec 6, 2023 · 1 comment · Fixed by #63
Closed

データパイプラインの大枠を設計する #44

sorami opened this issue Dec 6, 2023 · 1 comment · Fixed by #63
Assignees

Comments

@sorami
Copy link
Member

sorami commented Dec 6, 2023

参考: [GISコンバータ]20231206_社内MTG_タスク棚卸しなど

@ciscorn
Copy link
Member

ciscorn commented Dec 13, 2023

[Source trait] ==channel==> [Transformer trait] ==channel==> [Sink trait]
 ↑                                                            ↑
SourceProvider trait                                         SinkProvider trait
  • シンプルなパイプライン
  • Dependency Injection
  • 各コンポーネントは個別のスレッドで起動し、さらにその内部で各実装が適宜 rayon 等で data parallelism できるようにしておく。
  • 最低限のAPI(のモック)
    • キャンセル可能であること
    • Feedback(モック程度)
    • Configuration(モック程度)

@ciscorn ciscorn changed the title I/F, Controllerの設計 I/F, Controllerのアウトラインを設計する Dec 14, 2023
@ciscorn ciscorn changed the title I/F, Controllerのアウトラインを設計する データパイプラインの大枠を設計する Dec 14, 2023
ciscorn added a commit that referenced this issue Dec 14, 2023
See #44 

データ処理パイプライン `[Source (Input)] ==> [Transform] ==> [Sink (Output)]`
の概形を作りました。

- Source や Sink から Controller にフィードバック(エラー、進捗状況、etc.)を送る仕組みも実装してあります。
- パイプラインを停止する(ユーザなどがキャンセルする)仕組みも備えています。
- Source や Sink のための Configurations
の仕組みのなんとなくの大枠を用意してありますが、具体的な実装はまだありません。

テストは、「パイプライン走らせて、途中でキャンセルする」ことだけしている。test coverage:

<img width="356" alt="Screenshot 2023-12-14 at 14 26 15"
src="https://github.com/MIERUNE/nusamai/assets/5351911/e9ab9324-e770-4803-af32-25e529afa7ee">

Closes: #44
ciscorn added a commit that referenced this issue Dec 27, 2023
See #44 

データ処理パイプライン `[Source (Input)] ==> [Transform] ==> [Sink (Output)]`
の概形を作りました。

- Source や Sink から Controller にフィードバック(エラー、進捗状況、etc.)を送る仕組みも実装してあります。
- パイプラインを停止する(ユーザなどがキャンセルする)仕組みも備えています。
- Source や Sink のための Configurations
の仕組みのなんとなくの大枠を用意してありますが、具体的な実装はまだありません。

テストは、「パイプライン走らせて、途中でキャンセルする」ことだけしている。test coverage:

<img width="356" alt="Screenshot 2023-12-14 at 14 26 15"
src="https://github.com/MIERUNE/nusamai/assets/5351911/e9ab9324-e770-4803-af32-25e529afa7ee">

Closes: #44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants