Scenario
- Assume a BTU Task runs a Python function, whether on-demand or via a schedule.
- Thet Python function loops through 100 documents.
- For each document, it transmits an email via Mandrill (Mailchimp)
- A
try + except wisely prevents a failure in 1 iteration from terminating the entire loop.
- The function ends after the final loop.
Functionally, what are the possible outcomes?
- All emails transmitted successfully (there was an "ok" response from Mandrill on every iteration)
- Some emails transmitted successfully.
- No emails transmit successfully.
What is the Result in the BTU Task Log?
- It will always be a "Success", because of the try-except inside the Python function.
The Problem
Unless a human examines every single BTU Task Log every day, then failures will go ignored.
If 3 of the 100 emails failed, the root cause might exist in the documents themselves (e.g. typo in the email address).
But if 100% of the emails fail to transmit, the root cause might be a TCP network failure. In that case, the solution might be waiting 5 minutes, and trying again. Whether automatically, or with manual human intervention.
But today, there exists no means to programmatically identify and act on these results. The Task succeeds because of the loop handling, and the true results must be examined with human eyes.
Desired Enhancement
- BTU to somehow capture the inner details about its Task's execution.
- BTU to trigger alerts or warnings, based on those details.
Scenario
try+exceptwisely prevents a failure in 1 iteration from terminating the entire loop.Functionally, what are the possible outcomes?
What is the Result in the BTU Task Log?
The Problem
Unless a human examines every single BTU Task Log every day, then failures will go ignored.
If 3 of the 100 emails failed, the root cause might exist in the documents themselves (e.g. typo in the email address).
But if 100% of the emails fail to transmit, the root cause might be a TCP network failure. In that case, the solution might be waiting 5 minutes, and trying again. Whether automatically, or with manual human intervention.
But today, there exists no means to programmatically identify and act on these results. The Task succeeds because of the loop handling, and the true results must be examined with human eyes.
Desired Enhancement