home
wiki
classes/clusters list
class information
+
Point of view
LOOP_ITEM
ANY
LOOP_ITEM
JOB
INTERNALS_HANDLER
All features
deferred class PERIODIC_JOB
Summary
top
Pseudo periodic job. The timing is not exact : the time between two execution may be longer than the given period depending on time needed to execute ready tasks. There is no try to recover the time lost each time.
Direct parents
inherit list:
JOB
Known children
inherit list:
REPEAT_JOB
,
SIMPLE_PERIODIC_JOB
,
TEXT_CURSOR_JOB
Class invariant
top
period
> 0
Overview
top
exported features
period
:
REAL_64
unit is seconds
next_time
:
MICROSECOND_TIME
prepare
(events:
EVENTS_SET
)
use ready to descibe condition that make this job ready to continue.
is_ready
(events:
EVENTS_SET
):
BOOLEAN
check if this job is ready to continue his work
priority
:
INTEGER_32
Never change priority after job inserted in loop_item.
continue
Continue to do the job The work to do has to be small work and non blocking, it will continue on next call
done
:
BOOLEAN
done
returns
True
when the job is finished.
restart
Configure the job like the initial state.
infix "<"
(other:
JOB
):
BOOLEAN
period
:
REAL_64
writable attribute
top
unit is seconds
next_time
:
MICROSECOND_TIME
writable attribute
top
prepare
(events:
EVENTS_SET
)
effective procedure
top
use ready to descibe condition that make this job ready to continue.
require
events /= Void
not events.queryable
not done
is_ready
(events:
EVENTS_SET
):
BOOLEAN
effective function
top
check if this job is ready to continue his work
require
events /= Void
events.queryable
not done
priority
:
INTEGER_32
writable attribute
top
Never change priority after job inserted in loop_item.
Priority should only be set at creation time.
continue
deferred procedure
top
Continue to do the job The work to do has to be small work and non blocking, it will continue on next call
require
not
done
done
:
BOOLEAN
deferred function
top
done
returns
True
when the job is finished.
Then the job may be
restart
(ed) if it need to run again.
restart
deferred procedure
top
Configure the job like the initial state.
Example: when some window dialog appears second time, all jobs from this window are restarted.
require
done
ensure
not
done
infix "<"
(other:
JOB
):
BOOLEAN
effective function
top