Repository navigation
fix: don't raise from Actor.set_status_message on a failed or slow update - #1200
Conversation
`Actor.set_status_message()` no longer raises when the run update fails. It logs a warning and returns `None`, the same value it returns locally, and abandons an update that takes longer than one second. This matches the JavaScript SDK (apify/apify-sdk-js#807). BREAKING CHANGE: `Actor.set_status_message()` returns `None` instead of raising when the run update fails or times out, and logs a new warning `Failed to set status message for Actor run with ID "..."`. Closes #1199
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #1200 +/- ##
==========================================
+ Coverage 93.25% 93.42% +0.16%
==========================================
Files 54 54
Lines 3766 3771 +5
==========================================
+ Hits 3512 3523 +11
+ Misses 254 248 -6
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
vdusek
left a comment
There was a problem hiding this comment.
Well, if we do it now, it can't be marked as breaking ("fix!").
Pijukatel
left a comment
There was a problem hiding this comment.
Feels more like a breaking change of behavior for next major release, not a fix.
|
Closing this, @vladfrangu feel free to reopen it if you find a way to make this non-breaking. |
…age-swallow # Conflicts: # src/apify/_actor.py # src/apify/_consts.py
Actor.set_status_message on a failed or slow update
vdusek
left a comment
There was a problem hiding this comment.
After an internal discussion, we're treating this as a non-breaking fix for a regular patch/minor release. The only code it could break is code that catches the exception set_status_message() raised on a failed update, and we don't expect anyone to rely on that. LGTM, merging.
Actor.set_status_message()no longer raises when the run update fails. It logs a warning and returnsNone, the same value it returns locally, and abandons an update that takes longer than one second. This matches the JavaScript SDK (apify/apify-sdk-js#807).RuntimeErroron the platform is kept, since it marks a broken environment rather than a transient API failure.exit()guard around the terminal status message is untouched.BREAKING CHANGE:
Actor.set_status_message()returnsNoneinstead of raising when the run update fails or times out, and logs a new warningFailed to set status message for Actor run with ID "...".Closes #1199
[🤖] Claude Code using Fable 5.1