-
Notifications
You must be signed in to change notification settings - Fork 202
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
[rqd] [cuegui] Consolidate log read and write into a single package #1474
base: master
Are you sure you want to change the base?
[rqd] [cuegui] Consolidate log read and write into a single package #1474
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Now that I'm looking at your proposal materialized, I have some concerns about how it will impact the project in the future.
- Up until now, rqd was independent of pycue, which means the only contract they had in common was the protobuf layer (Loose coupling). With this change, they now share modules, which is good for reusability, but increases the coupling. If we had a great portion of code being reused, maybe the tradeoff would be fair, but so far we're only reusing cuelogging on READ mode. Which brings me to my next concern
- On cuelogging we're exposing the WRITE mode to pycue, which doesn't have any use for it. This would be harmless if we didn't have artists that like to program and hack things, I can easily see an user of the API accidentally initializing
CueLogger
in WRITE mode and inadvertently triggering a log rotate (which is part of the__init__
function).
I'm really sorry I didn't catch this concerns on the design phase, but I do think keeping pycue(opencue) and rqd as separate modules that only communicate via protobuf weights heavier on the tradeoff between reuse and coupling.
No worries. I think I've re-written this a few times already :)
|
…some class attributes
…xist when attempting to read it.
Had to move the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please also update python_coverage_report.sh and confirm the run_integration_test.sh
still works.
One way to test this is to temporarily add the analize_cuebot
frompackaging-pipeline.yml to the testing-pipeline.yml. This will run the integration test on the PR.
I added the |
# Conflicts: # ci/build_sphinx_docs.sh # ci/run_python_tests.sh
Summarize your change.
This moves log reading and writing into a single package, to make it easier to support multiple backends in a single place.
LogViewPlugin.LogReader
andrqdlogging.RQDLogger
have been replaced withcuelogging.CueLogReader
andcuelogging.CueLogWriter
rqd.compiled_proto
has also been replaced withopencue.compiled_proto
inrqd
Have also updated tests and documentation.