Open dlstadther opened 6 years ago
First of all, thanks for putting forward this proposal
My thoughts:
SUCCESS
tasks from Slack output using events
kwarg. The default is events=['FAILURE', 'DEPENDENCY_MISSING', 'SUCCESS']
but you can change it to events=['FAILURE', 'DEPENDENCY_MISSING']
to not output successful tasks. Having said that I would like to see default behaviour changed to exclude SUCCESS
from events
. If we were to do all 3 of the proposed, I imagine this to be staged release. First would be to refactor the code and keep the same functionality so that configuring each methods for existing options is easier. Then we could refactor to introduce the yaml based config options for existing and mark existing api as deprecated. so these two could be packages as v2.0.0. The final stage would be to add new config options for various outputs, emoji use, etc. This could be minor version bump since there would be backwards compatibility with v2.0.0.
Apologies for my delay in response here. I will be spending small bits of time over the coming weeks attempting to refactor luigi-monitor such to maintain backwards compatibility as well as providing additional flexibility towards the goals mentioned above. As I have meaningfully complete refactors, I will contribute them here.
I will leave it up to you, @atharvai , as to whether to keep this issue open or not.
Thanks,
Proposal:
Refactor configurability of
luigi-monitor
, particularly the output format/style/quantity.Background
Currently, there exists 2 options in the
monitor
context manager which control output ofluigi-monitor
-events
, andmax_print
.However, in PR #20 messages now include a list of successfully ran tasks which is not configurable. This is especially problematic for very large
WrapperTask
s which execute complex pipelines of hundreds ofTask
s. Slack channels get very muddy and unreadable.Conversation Questions
1) What are thoughts on setting a default behavior which is very very minimal and allowing configuration options to increase the number of failure outputs, success outputs, emoji use, etc? 2) As many configuration options become available, we may want to refactor the structure of code such that each method doesn't have to have tons of args/kwargs - possibly some sort of configuration class (imagine something like Luigi.Config)? 3) Would such a code overhaul necessitate a milestone version bump (i.e. 2.0.0)?