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

fix: allow multiple connections to work with the runner #31

Merged
merged 17 commits into from
Dec 16, 2023

Conversation

WinPlay02
Copy link
Contributor

@WinPlay02 WinPlay02 commented Dec 16, 2023

  • fix: allow multiple websocket connections in parallel (custom threading / multiprocessing is initialized before patching for use with gevent)
  • feat: send events (during execution) to all connected (listening) websocket connections
  • Queries (placeholder_query) is still using a request-response pattern and does not multicast to all connections
  • green thread pool size for connections is limited to 8 for now

Copy link

github-actions bot commented Dec 16, 2023

🦙 MegaLinter status: ✅ SUCCESS

Descriptor Linter Files Fixed Errors Elapsed time
✅ PYTHON black 3 0 0 0.64s
✅ PYTHON mypy 3 0 1.72s
✅ PYTHON ruff 3 0 0 0.03s
✅ REPOSITORY git_diff yes no 0.01s

See detailed report in MegaLinter reports
Set VALIDATE_ALL_CODEBASE: true in mega-linter.yml to validate all sources, not only the diff

MegaLinter is graciously provided by OX Security

megalinter-bot and others added 3 commits December 16, 2023 16:16
…egistered multiple times

test: change tests to always receive pending messages, even when mock connection sent EOF
Copy link

codecov bot commented Dec 16, 2023

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (054cca4) 100.00% compared to head (28f7fe3) 100.00%.

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #31   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           10        10           
  Lines          368       377    +9     
=========================================
+ Hits           368       377    +9     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@WinPlay02 WinPlay02 marked this pull request as ready for review December 16, 2023 18:20
@WinPlay02 WinPlay02 requested review from a team and lars-reimann as code owners December 16, 2023 18:20
Copy link
Member

@lars-reimann lars-reimann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks excellent. Just some small suggestions left.

src/safeds_runner/server/main.py Outdated Show resolved Hide resolved
src/safeds_runner/server/pipeline_manager.py Outdated Show resolved Hide resolved
src/safeds_runner/server/pipeline_manager.py Outdated Show resolved Hide resolved
@lars-reimann lars-reimann merged commit 64685a3 into main Dec 16, 2023
8 checks passed
@lars-reimann lars-reimann deleted the fix-multiconnection branch December 16, 2023 21:21
lars-reimann pushed a commit that referenced this pull request Jan 26, 2024
## [0.5.0](v0.4.0...v0.5.0) (2024-01-26)

### Features

* added json serializer that encodes tables and images ([#29](#29)) ([054cca4](054cca4)), closes [#20](#20)
* Memoization ([#38](#38)) ([2a26b48](2a26b48))
* Replace flask with quart ([#43](#43)) ([5520b68](5520b68)), closes [#42](#42)
* support placeholder queries that only request a subset of data ([#39](#39)) ([dae57dc](dae57dc))
* update to safe-ds 0.17.1 + server refactor ([#37](#37)) ([1bcad07](1bcad07))

### Bug Fixes

* allow multiple connections to work with the runner ([#31](#31)) ([64685a3](64685a3))
@lars-reimann
Copy link
Member

🎉 This PR is included in version 0.5.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

@lars-reimann lars-reimann added the released Included in a release label Jan 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
released Included in a release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants