Why does a canister keep consuming cycles?

I think it is because the function has to wake up every second even when there is nothing to do. The invocation cost, however small, will add up. It’ll be costly for every canister to rely on implementing heartbeat themselves. Rather there can be one cronjob service that accepts callback registration and more flexible invocation schedules, then other canisters can use the cronjob instead.

1 Like