frequenz-floss / frequenz-dispatch-python

High-level interface to dispatch API
https://frequenz-floss.github.io/frequenz-dispatch-python/
MIT License
0 stars 2 forks source link

Add more details to what `_MAX_AHEAD_SCHEDULE` is for #16

Open llucax opened 3 months ago

llucax commented 3 months ago

I didn't understand which issue this is trying to solve, maybe we need a more detailed explanation of the issue and how this solves it.

_Originally posted by @llucax in https://github.com/frequenz-floss/frequenz-dispatch-python/pull/9#discussion_r1539274799_

Marenz commented 1 month ago

Is the existing documentation sufficient? https://github.com/frequenz-floss/frequenz-dispatch-python/blob/8e53a3b917137d8b07132833db069ba564520359/src/frequenz/dispatch/actor.py#L27

llucax commented 1 month ago

To me, no. That doesn't say what is it for and what's the effect on changing it.

Marenz commented 1 month ago

Really? What more would you need from the description?

"""The maximum time ahead to schedule a dispatch.

We don't want to schedule dispatches too far ahead,
as they could start drifting if the delay is too long.

This also prevents us from scheduling too many dispatches at once.

The exact value is not important, but should be a few hours and not more than a day.

It describes the effect if it's too long and why it's there?

llucax commented 1 month ago

Reading the whole description doesn't help a lot. What does it mean to "schedule a dispatch too far ahead" (or just "ahead")? I don't understand if you are scheduling the dispatches in the future? Also what does it mean exactly to "schedule a dispatch", it means you add it to some list so it is checked periodically to see if it ready to run or what?

Also drifting with respect to what? Why does this prevents scheduling too many dispatches at once?

I think a time diagram might help here, but I'm still uncertain because I still don't understand what this does :P