diff --git a/src/vault/gear/activity-lang.hpp b/src/vault/gear/activity-lang.hpp index 42772d43c..5c2dfed7e 100644 --- a/src/vault/gear/activity-lang.hpp +++ b/src/vault/gear/activity-lang.hpp @@ -163,12 +163,12 @@ namespace gear { private: /** @internal generate the builder / configurator term */ activity::Term - setupActivityScheme (activity::Term::Template schemeKind, Job job, Time start, Time after) + setupActivityScheme (activity::Term::Template schemeKind, Job job, Time start, Time dead) { - return activity::Term{ mem_.until(after) + return activity::Term{ mem_.until(dead) , schemeKind , start - , after + , dead , job }; } diff --git a/src/vault/gear/activity-term.hpp b/src/vault/gear/activity-term.hpp index fa57f97cf..fdfc50f6f 100644 --- a/src/vault/gear/activity-term.hpp +++ b/src/vault/gear/activity-term.hpp @@ -120,10 +120,10 @@ namespace gear { }; explicit - Term (AllocHandle&& allocHandle, Template kind, Time start, Time after, Job job) + Term (AllocHandle&& allocHandle, Template kind, Time start, Time dead, Job job) : alloc_{move (allocHandle)} , invoke_{setupInvocation (job)} - , post_{setupPost (start,after, invoke_)} + , post_{setupPost (start,dead, invoke_)} { configureTemplate (kind); } @@ -257,9 +257,9 @@ namespace gear { } Activity* - setupPost (Time start, Time after, Activity* followUp) + setupPost (Time start, Time dead, Activity* followUp) { - return & alloc_.create (start,after,followUp); + return & alloc_.create (start,dead,followUp); } void diff --git a/src/vault/gear/scheduler.hpp b/src/vault/gear/scheduler.hpp index 8e67f1728..10a071e0d 100644 --- a/src/vault/gear/scheduler.hpp +++ b/src/vault/gear/scheduler.hpp @@ -195,6 +195,14 @@ namespace gear { return move(*this); } + ScheduleSpec + compulsory (bool truely =true) + { + isCompulsory_ = truely; + return move(*this); + } + + /** build Activity chain and hand-over to the Scheduler. */ ScheduleSpec post(); diff --git a/tests/vault/gear/scheduler-service-test.cpp b/tests/vault/gear/scheduler-service-test.cpp index 9960c4e4c..c07e53985 100644 --- a/tests/vault/gear/scheduler-service-test.cpp +++ b/tests/vault/gear/scheduler-service-test.cpp @@ -552,7 +552,8 @@ namespace test { processSchedule() { MARK_TEST_FUN - auto LOAD_BASE = 200us; + + auto LOAD_BASE = 1ms; TestChainLoad testLoad{64}; // .configureShape_short_segments3_interleaved() @@ -581,6 +582,7 @@ SHOW_EXPR(referenceTime) testLoad.setupSchedule(scheduler) .withLoadTimeBase(LOAD_BASE) + .withJobDeadline(100ms) .launch_and_wait(); // invocation through Scheduler has reproduced all node hashes diff --git a/tests/vault/gear/test-chain-load.hpp b/tests/vault/gear/test-chain-load.hpp index 56f2fcc22..e27c4aa73 100644 --- a/tests/vault/gear/test-chain-load.hpp +++ b/tests/vault/gear/test-chain-load.hpp @@ -1610,11 +1610,17 @@ namespace test { ,manID_); } else - scheduler_.continueMetaJob (calcStartTime (levelDone+1) - ,wakeUpJob() - ,manID_); + scheduler_.defineSchedule(wakeUpJob()) + .manifestation (manID_) + .startTime(calcStartTime (levelDone+1)) + .lifeWindow(1s) + .compulsory() + .post() + .linkToPredecessor (schedule_[lastNodeIDX]) + ; // Setup wait-dependency on last computation } + std::future performRun() { diff --git a/wiki/thinkPad.ichthyo.mm b/wiki/thinkPad.ichthyo.mm index 17a6d960f..2e292547c 100644 --- a/wiki/thinkPad.ichthyo.mm +++ b/wiki/thinkPad.ichthyo.mm @@ -103267,7 +103267,8 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + + @@ -103285,6 +103286,22 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
+ + + + + + + + + + + + + + + + @@ -103333,6 +103350,41 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
+ + + + + + + + + + +

+ da wir alle ScheduleSpec-Terme in einem Array halten +

+ + +
+
+ + + + + + + + + + + + + + + + + +