[Cuis-dev] [QUESTION] Delays after image startup
Juan Vuletich
juan at cuis.st
Wed Jul 19 15:45:49 PDT 2023
On 7/19/2023 6:26 PM, rabbit via Cuis-dev wrote:
> Hi, as I’ve built an EventualTimer, using a Delay, would you consider
> a Delay class>>#startUp: resume. On resume, grab the image saved time
> and diff with each Delays’ expireTime, or whatever, and reschedule the
> diff. Automatic it’s not a problem. We can think about other stuff.
>
> Liscio come l’olio,
> ••• rabbit ❤️🔥🐰
>
>
Is that what Squeak is doing? Isn't that what Cuis is doing?
Thanks,
>
>
> On Wed, Jul 19, 2023 at 16:06, Gerald Klix via Cuis-dev
> <cuis-dev at lists.cuis.st
> <mailto:On%20Wed,%20Jul%2019,%202023%20at%2016:06,%20Gerald%20Klix%20via%20Cuis-dev%20%3C%3Ca%20href=>>
> wrote:
>> Hi Juan,
>>
>> thanks for your answer and apologies for my late reply;
>> I was on the road again.
>>
>> Please see below.
>>
>> On 7/17/23 4:27 PM, Juan Vuletich wrote:
>> > On 7/10/2023 7:13 AM, Gerald Klix via Cuis-dev wrote:
>> >> Hi all,
>> >>
>> >> I am a bit hesitant to report this as a defect.
>> >>
>> >> It looks like that the resumption of
>> >> processes stopped by instances of Delay
>> >> does not always work after image startup.
>> >>
>> >> At least for delays that expire during the time
>> >> the image was down, if the clock wraps around
>> >> midnight. Actually these processes seem to be woken
>> >> up at the same time of day, but one day later.
>> >>
>> >> Is this the expected behavior?
>> >>
>> >>
>> >> Best Regards,
>> >>
>> >> Gerald
>> >
>> > I think that all Delays that expired when the image was not running
>> > should simply be discarded at startup. Otherwise there is a real risk
>> > of the image not starting again, or getting stuck.
>> >
>> To me this makes sense. Additionally we could get rid of the
>> complicated logic in the category snapshotting of class Delay.
>> Do you want to terminated the associated processes, too?
>>
>> > I also think that saving an image with suspended Delays is not a good
>> > idea...
>> >
>> In that case, we can get rid of the delays when saving the image.
>> Again the question about the associated processes arises.
>>
>> The current semantics of delays in saved images is surprising
>> and probably unintentional; at least it needs some words
>> of explanations in Delay's class comment.
>>
>>
>> Any how, I implemented Alarms for items in a todo-list with delays.
>> The solution for the aforementioned problem is to "reschedule"
>> all the alarms when starting the image. "Reschedule" means
>> terminated the old process waiting on the delay and create
>> a new one, if the alarm still lies in the future.
>> Otherwise change the alarm's due time to 5 seconds
>> in the future, to alert the user shortly after image startup.
>>
>> I implemented this behavior using initClassCachedState.
>> This way the alarms are rescheduled even when
>> I just save the image.
>>
>>
>> Best Regards,
>>
>> Gerald
>>
>>
>>
>> --
>> Cuis-dev mailing list
>> Cuis-dev at lists.cuis.st
>> https://lists.cuis.st/mailman/listinfo/cuis-dev
--
Juan Vuletich
cuis.st
github.com/jvuletich
researchgate.net/profile/Juan-Vuletich
independent.academia.edu/JuanVuletich
patents.justia.com/inventor/juan-manuel-vuletich
linkedin.com/in/juan-vuletich-75611b3
twitter.com/JuanVuletich
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20230719/a57d334a/attachment.htm>
More information about the Cuis-dev
mailing list