Hearbeat that has run low on cycles

I’ve been testing the outgoing HTTP requests functionality, and I had a heartbeat going that would execute 6 outgoing http requests every 1 minute. I ran into some strange behavior. When my local canister no longer had enough cycles to perform the http requests (well, I assume this is what happened), my heartbeat seemed to stop its execution part-way through the function’s execution. I didn’t get any error messages or panics. I am handling all errors that I know of using the equivalent of Results (in Azle), and thus I assumed if there was an error it would be handled and logged appropriately.

What should I expect to happen in a heartbeat function when a canister runs low on cycles? Does this behavior sound appropriate for the situation?

2 Likes