Scheduler: design-problems while integrating deadline
the attempt to integrate additional deadline and significance parameters unveils a design problem due to the layering of contexts - the Activity-Language attempts to abstract away the ''Scheduler mechanics'' - but this implementation logic now needs to pass additional parameters - and notably there is the possibility of direct re-scheduling from within the Activity-Dispatch The symptom of this problem is that it's no longer possible to implement the ExecutionCtx.post() function in the real Scheduler-context
This commit is contained in:
parent
b49de0738d
commit
747e522c7e
4 changed files with 123 additions and 42 deletions
|
|
@ -218,7 +218,13 @@ namespace gear {
|
|||
activity::Proc
|
||||
postDispatch (Activity* chain, Time when
|
||||
,EXE& executionCtx
|
||||
,SchedulerInvocation& layer1)
|
||||
,SchedulerInvocation& layer1
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////OOO API / Design problem with "context" and significance-Params
|
||||
, Time dead =Time::NEVER //////////////////////////////////TODO booom!!
|
||||
, ManifestationID manID =ManifestationID()
|
||||
, bool compulsory = false
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////OOO API / Design problem with "context" and significance-Params
|
||||
)
|
||||
{
|
||||
if (!chain) return activity::SKIP;
|
||||
|
||||
|
|
@ -227,9 +233,9 @@ namespace gear {
|
|||
return ActivityLang::dispatchChain (chain, executionCtx);
|
||||
else
|
||||
if (holdsGroomingToken (thisThread()))
|
||||
layer1.feedPrioritisation (*chain, when);
|
||||
layer1.feedPrioritisation (*chain, when, dead, manID, compulsory);
|
||||
else
|
||||
layer1.instruct (*chain, when);
|
||||
layer1.instruct (*chain, when, dead, manID, compulsory);
|
||||
return activity::PASS;
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -254,6 +254,12 @@ namespace gear {
|
|||
UNIMPLEMENTED("wrap the ActivityTerm");
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////OOO the role of this function remains unclear; currently used from »Tick«
|
||||
activity::Proc postChain (Activity*, Time start
|
||||
, Time dead =Time::ANYTIME
|
||||
, ManifestationID manID =ManifestationID()
|
||||
, bool isCompulsory = false);
|
||||
|
||||
|
||||
/**
|
||||
* The worker-Functor: called by the active Workers from the
|
||||
|
|
@ -500,6 +506,18 @@ namespace gear {
|
|||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////OOO the role of this function remains unclear; currently used from »Tick«
|
||||
inline activity::Proc
|
||||
Scheduler::postChain (Activity* chain, Time start, Time dead
|
||||
,ManifestationID manID, bool isCompulsory)
|
||||
{
|
||||
auto& ctx = ExecutionCtx::from (*this);
|
||||
return layer2_.postDispatch (chain, start, ctx, layer1_
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////OOO API / Design problem with "context" and significance-Params
|
||||
,dead,manID,isCompulsory);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* »Tick-hook« : code to maintain sane running status.
|
||||
* This function will be invoked [regularly](\ref DUTY_CYCLE_PERIOD) while the scheduler
|
||||
|
|
@ -517,7 +535,10 @@ namespace gear {
|
|||
{
|
||||
// consolidate queue content
|
||||
layer1_.feedPrioritisation();
|
||||
//////////////////////////////////////////////////////////////////////OOO clean-up of outdated tasks here
|
||||
// clean-up of outdated tasks here
|
||||
while (layer1_.isOutdated (now) and not layer1_.isOutOfTime(now))
|
||||
layer1_.pullHead();
|
||||
// protect against missing the deadline of a compulsory task
|
||||
if (layer1_.isOutOfTime (now))
|
||||
{
|
||||
triggerEmergency();
|
||||
|
|
@ -533,9 +554,8 @@ namespace gear {
|
|||
{// prepare next duty cycle »tick«
|
||||
Time nextTick = now + DUTY_CYCLE_PERIOD;
|
||||
Time deadline = nextTick + DUTY_CYCLE_TOLERANCE;
|
||||
auto& ctx = ExecutionCtx::from (*this);
|
||||
Activity& tickActivity = activityLang_.createTick (deadline);
|
||||
ctx.post(nextTick, &tickActivity, ctx);
|
||||
postChain (&tickActivity, nextTick, deadline, ManifestationID(), true);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -28,7 +28,6 @@
|
|||
#include "lib/test/run.hpp"
|
||||
#include "vault/gear/scheduler-invocation.hpp"
|
||||
#include "lib/util.hpp"
|
||||
#include "lib/test/diagnostic-output.hpp"///////////////////TODO
|
||||
|
||||
using test::Test;
|
||||
using util::isSameObject;
|
||||
|
|
|
|||
|
|
@ -80655,8 +80655,9 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<node COLOR="#435e98" CREATED="1693317527566" ID="ID_393706947" MODIFIED="1693317722746" TEXT="Fazit">
|
||||
<font BOLD="true" NAME="SansSerif" SIZE="12"/>
|
||||
<icon BUILTIN="forward"/>
|
||||
<node CREATED="1693317530251" ID="ID_496219214" MODIFIED="1697937932990" TEXT="betrachte die Redundanz als Spielraum zur Beweglichkeit">
|
||||
<node CREATED="1693317530251" ID="ID_496219214" MODIFIED="1698972118959" TEXT="betrachte die Redundanz als Spielraum zur Beweglichkeit">
|
||||
<arrowlink COLOR="#5adeb2" DESTINATION="ID_598148359" ENDARROW="Default" ENDINCLINATION="52;-139;" ID="Arrow_ID_155448561" STARTARROW="None" STARTINCLINATION="638;34;"/>
|
||||
<linktarget COLOR="#cd1d68" DESTINATION="ID_496219214" ENDARROW="Default" ENDINCLINATION="1100;780;" ID="Arrow_ID_1973257942" SOURCE="ID_970794288" STARTARROW="Default" STARTINCLINATION="-1;-184;"/>
|
||||
</node>
|
||||
<node CREATED="1693317673355" ID="ID_258047795" MODIFIED="1693317696718" TEXT="Zeitfenster-Parameter sollten innerhalb eines Terms konstant sein"/>
|
||||
<node CREATED="1693317617453" ID="ID_812974850" MODIFIED="1693317653450" TEXT="auf die kontextuellen Parameter kann weitgehend verzichtet werden"/>
|
||||
|
|
@ -83846,18 +83847,18 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
<node COLOR="#338800" CREATED="1698808300122" ID="ID_1808480702" MODIFIED="1698808313387" TEXT="(Konzept scheint aufzugehen)"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1698542388722" ID="ID_1120963605" MODIFIED="1698543129256" TEXT="Queue bereinigen">
|
||||
<icon BUILTIN="pencil"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1698542396065" ID="ID_1705516567" MODIFIED="1698543118152" TEXT="muß auch gelöschte oder verfallene Einträge beseitigen">
|
||||
<arrowlink COLOR="#7e4dc3" DESTINATION="ID_768314841" ENDARROW="Default" ENDINCLINATION="362;-65;" ID="Arrow_ID_464500099" STARTARROW="None" STARTINCLINATION="213;11;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node COLOR="#338800" CREATED="1698542388722" ID="ID_1120963605" MODIFIED="1698971265232" TEXT="Queue bereinigen">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#338800" CREATED="1698542396065" ID="ID_1705516567" MODIFIED="1698971267185" TEXT="muß auch gelöschte oder verfallene Einträge beseitigen">
|
||||
<arrowlink COLOR="#4d7fc3" DESTINATION="ID_768314841" ENDARROW="Default" ENDINCLINATION="362;-65;" ID="Arrow_ID_464500099" STARTARROW="None" STARTINCLINATION="213;11;"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1698543132047" ID="ID_1879818036" MODIFIED="1698543148250" TEXT="kann auch gleich noch feedPrioritisation() machen">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1698534523065" ID="ID_1249909001" MODIFIED="1698544865983" TEXT="BlockFlow pflegen">
|
||||
<icon BUILTIN="pencil"/>
|
||||
<node COLOR="#338800" CREATED="1698534523065" ID="ID_1249909001" MODIFIED="1698971275293" TEXT="BlockFlow pflegen">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#338800" CREATED="1698534530622" ID="ID_1453816295" MODIFIED="1698544865368" TEXT="der Tick löst die BlockFlow-Bereinigung aus">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
|
|
@ -83907,6 +83908,9 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<icon BUILTIN="messagebox_warning"/>
|
||||
<node CREATED="1698530661134" ID="ID_345977666" MODIFIED="1698530674141" TEXT="muß Entgleisen der Steuermechanismen erkennen"/>
|
||||
<node CREATED="1698530762981" ID="ID_1141545060" MODIFIED="1698530779783" TEXT="und dann die Verarbeitung sauber auslaufen lassen"/>
|
||||
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1698977581315" HGAP="36" ID="ID_1091029245" MODIFIED="1698977618208" TEXT="Grooming-Token korrekt handhaben" VSHIFT="8">
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
|
|
@ -84052,9 +84056,12 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<icon BUILTIN="flag-yellow"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1698533674384" ID="ID_1227874220" MODIFIED="1698534658603" TEXT="Scheduler-Emergency vorsehen">
|
||||
<arrowlink COLOR="#ea5540" DESTINATION="ID_1515660165" ENDARROW="Default" ENDINCLINATION="-1517;105;" ID="Arrow_ID_1696922321" STARTARROW="None" STARTINCLINATION="912;-77;"/>
|
||||
<linktarget COLOR="#9a5079" DESTINATION="ID_1227874220" ENDARROW="Default" ENDINCLINATION="133;12;" ID="Arrow_ID_967532278" SOURCE="ID_979357340" STARTARROW="None" STARTINCLINATION="241;-7;"/>
|
||||
<linktarget COLOR="#d54a7e" DESTINATION="ID_1227874220" ENDARROW="Default" ENDINCLINATION="-1477;121;" ID="Arrow_ID_677451247" SOURCE="ID_748059800" STARTARROW="None" STARTINCLINATION="-536;-12;"/>
|
||||
<linktarget COLOR="#2c6489" DESTINATION="ID_1227874220" ENDARROW="Default" ENDINCLINATION="133;12;" ID="Arrow_ID_967532278" SOURCE="ID_979357340" STARTARROW="None" STARTINCLINATION="241;-7;"/>
|
||||
<linktarget COLOR="#544ad5" DESTINATION="ID_1227874220" ENDARROW="Default" ENDINCLINATION="-1477;121;" ID="Arrow_ID_677451247" SOURCE="ID_748059800" STARTARROW="None" STARTINCLINATION="-536;-12;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1698977581315" HGAP="36" ID="ID_1460743865" MODIFIED="1698977618208" TEXT="Grooming-Token korrekt handhaben" VSHIFT="8">
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
|
|
@ -84090,8 +84097,8 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<node CREATED="1697982898279" ID="ID_1086820599" MODIFIED="1697982926481" TEXT="verfallene Activities dürfen wiederverwendet werden">
|
||||
<icon BUILTIN="idea"/>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1698542519485" ID="ID_768314841" MODIFIED="1698970344746" TEXT="Bereinigung in die normale Verarbeitung integrieren">
|
||||
<linktarget COLOR="#7e4dc3" DESTINATION="ID_768314841" ENDARROW="Default" ENDINCLINATION="362;-65;" ID="Arrow_ID_464500099" SOURCE="ID_1705516567" STARTARROW="None" STARTINCLINATION="213;11;"/>
|
||||
<node COLOR="#338800" CREATED="1698542519485" FOLDED="true" ID="ID_768314841" MODIFIED="1698970344746" TEXT="Bereinigung in die normale Verarbeitung integrieren">
|
||||
<linktarget COLOR="#4d7fc3" DESTINATION="ID_768314841" ENDARROW="Default" ENDINCLINATION="362;-65;" ID="Arrow_ID_464500099" SOURCE="ID_1705516567" STARTARROW="None" STARTINCLINATION="213;11;"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1698542534903" ID="ID_1065770396" MODIFIED="1698542579305" TEXT="Achtung: nur unter Grooming-Token">
|
||||
<icon BUILTIN="clanbomber"/>
|
||||
|
|
@ -84220,27 +84227,26 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
brauche generische Informationsfunktion <font face="Monospaced" color="#0d0fb9">isOutdated()</font>
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1698970133343" ID="ID_1886746867" MODIFIED="1698970148917" TEXT="muß vom Scheduler high-Level-API bedient werden">
|
||||
<icon BUILTIN="bell"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1698533220909" ID="ID_1286321982" MODIFIED="1698533274744" TEXT="Flag und Steuerung für »verbindliche Activities«">
|
||||
<linktarget COLOR="#f13e82" DESTINATION="ID_1286321982" ENDARROW="Default" ENDINCLINATION="107;492;" ID="Arrow_ID_1399415601" SOURCE="ID_326051657" STARTARROW="None" STARTINCLINATION="922;-57;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node COLOR="#338800" CREATED="1698533220909" ID="ID_1286321982" MODIFIED="1698971499681" TEXT="Flag und Steuerung für »verbindliche Activities«">
|
||||
<linktarget COLOR="#3ebbf1" DESTINATION="ID_1286321982" ENDARROW="Default" ENDINCLINATION="107;492;" ID="Arrow_ID_1399415601" SOURCE="ID_326051657" STARTARROW="None" STARTINCLINATION="922;-57;"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#338800" CREATED="1698533783922" ID="ID_1279644850" MODIFIED="1698970114815" TEXT="blockiert das Verwerfen nach Deadline">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1698533800719" ID="ID_979357340" MODIFIED="1698533837777" TEXT="wird dann vom Tick/DutyCycle erkannt">
|
||||
<arrowlink COLOR="#9a5079" DESTINATION="ID_1227874220" ENDARROW="Default" ENDINCLINATION="133;12;" ID="Arrow_ID_967532278" STARTARROW="None" STARTINCLINATION="241;-7;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node COLOR="#338800" CREATED="1698533800719" ID="ID_979357340" MODIFIED="1698971521640" TEXT="wird dann vom Tick/DutyCycle erkannt">
|
||||
<arrowlink COLOR="#2c6489" DESTINATION="ID_1227874220" ENDARROW="Default" ENDINCLINATION="133;12;" ID="Arrow_ID_967532278" STARTARROW="None" STARTINCLINATION="241;-7;"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1698945154395" ID="ID_1664760512" MODIFIED="1698970165200" TEXT="erweiterte Prüfungen in die normale Verarbeitung integrieren">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#338800" CREATED="1698945192477" ID="ID_1809715507" MODIFIED="1698970058102" TEXT="brauche nun zusätzliche Daten beim Einplanen">
|
||||
<node COLOR="#338800" CREATED="1698945192477" FOLDED="true" ID="ID_1809715507" MODIFIED="1698970058102" TEXT="brauche nun zusätzliche Daten beim Einplanen">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node CREATED="1698946253457" ID="ID_1811524315" MODIFIED="1698946256631" TEXT="Defaults">
|
||||
<node CREATED="1698946293491" ID="ID_537001260" MODIFIED="1698946298907" TEXT="sinnvoll für Tests"/>
|
||||
|
|
@ -84285,11 +84291,52 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1698945215604" ID="ID_1778628995" MODIFIED="1698946166942" TEXT="Scheduler high-level-API erweitern">
|
||||
<arrowlink COLOR="#3d3aa9" DESTINATION="ID_780386157" ENDARROW="Default" ENDINCLINATION="69;74;" ID="Arrow_ID_103420327" STARTARROW="None" STARTINCLINATION="317;25;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node BACKGROUND_COLOR="#f8f1cb" COLOR="#a50125" CREATED="1698971859240" HGAP="82" ID="ID_1814368786" MODIFIED="1698971899517" TEXT="Problem: λ-post übermittelt nicht zwingend eine Deadline" VSHIFT="17">
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1698971900742" ID="ID_970794288" MODIFIED="1698972278874" TEXT="Problem bedingt durch die Offenheit der Activity-Language">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
das heißt, das ist latent ein Design-Problem — welches ich derzeit nicht lösen kann, da mir der Gesamtüberblick noch fehlt, und ich <i>genau deshalb </i>dieses offene Design gewählt habe
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
<arrowlink COLOR="#cd1d68" DESTINATION="ID_496219214" ENDARROW="Default" ENDINCLINATION="1100;780;" ID="Arrow_ID_1973257942" STARTARROW="Default" STARTINCLINATION="-1;-184;"/>
|
||||
</node>
|
||||
<node CREATED="1698972217673" ID="ID_1012249644" MODIFIED="1698972251202">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
<i>kann </i>es auch gar nicht, denn die Activity selber kennt i.A. keine Deadline
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#fafe99" COLOR="#fa002a" CREATED="1698976477150" ID="ID_1307962302" MODIFIED="1698976496606" TEXT="die Bedeutungs-Ebenen schichten sich hier nicht sauber">
|
||||
<icon BUILTIN="broken-line"/>
|
||||
<node CREATED="1698976502827" ID="ID_429532581" MODIFIED="1698976539535" TEXT="Manifestation und compulsory werden erst auf Scheduler-Level bedeutsam"/>
|
||||
<node CREATED="1698976540742" ID="ID_1531605944" MODIFIED="1698976573680" TEXT="die Deadline gibt es auf Activity-Language-Ebene — aber nur als Gate-Check"/>
|
||||
<node CREATED="1698976601846" ID="ID_792276520" MODIFIED="1698976677711" TEXT="die Activity-Language soll aber genau von den Scheduler-Abläufen abstrahieren"/>
|
||||
<node CREATED="1698976678515" ID="ID_203481682" MODIFIED="1698976708963" TEXT="Sie muß aber durch den abstrahierten Kontext hindurch propagieren können"/>
|
||||
<node CREATED="1698976759992" ID="ID_1975784916" MODIFIED="1698976784377" TEXT="die Semantik sollte sich „gemäß Kontext“ sinnvoll erweitern"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1698976787213" ID="ID_1115119952" MODIFIED="1698976852090" TEXT="die Kontext-Abstraktion muß dieses Problem absorbieren">
|
||||
<icon BUILTIN="yes"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1698946201921" ID="ID_1058086166" MODIFIED="1698963474934" TEXT="Informationsfunktionen ergänzen">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1698946217933" ID="ID_1697537017" MODIFIED="1698970050764" TEXT="transparentes Verwerfen">
|
||||
<node COLOR="#338800" CREATED="1698946217933" FOLDED="true" ID="ID_1697537017" MODIFIED="1698970050764" TEXT="transparentes Verwerfen">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#435e98" CREATED="1698948806933" ID="ID_420754882" MODIFIED="1698970047714" TEXT="wo ansetzen?">
|
||||
<node CREATED="1698948815117" ID="ID_736157754" MODIFIED="1698948823278" TEXT="es muß eine Mutations-Funktion sein"/>
|
||||
|
|
@ -84323,8 +84370,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
damit: direkt in <b><font face="Monospaced" color="#610da9">findWork</font></b><font face="Monospaced" color="#610da9">(now)</font>
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
<node CREATED="1698969992698" ID="ID_413808337" MODIFIED="1698970038839">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
|
|
@ -95418,13 +95464,13 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</body>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1698533069058" ID="ID_1475771662" MODIFIED="1698533129903" TEXT="klares Trennkriterium einführen">
|
||||
<node COLOR="#435e98" CREATED="1698533069058" ID="ID_1475771662" MODIFIED="1698971466447" TEXT="klares Trennkriterium einführen">
|
||||
<linktarget COLOR="#3f3aee" DESTINATION="ID_1475771662" ENDARROW="Default" ENDINCLINATION="-1121;-88;" ID="Arrow_ID_211999245" SOURCE="ID_696019318" STARTARROW="None" STARTINCLINATION="1410;120;"/>
|
||||
<icon BUILTIN="yes"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1698533152440" ID="ID_326051657" MODIFIED="1698533633384" TEXT="Flag für verbindlichen Task in den Scheduler einbauen">
|
||||
<arrowlink COLOR="#f13e82" DESTINATION="ID_1286321982" ENDARROW="Default" ENDINCLINATION="107;492;" ID="Arrow_ID_1399415601" STARTARROW="None" STARTINCLINATION="922;-57;"/>
|
||||
<linktarget COLOR="#df3563" DESTINATION="ID_326051657" ENDARROW="Default" ENDINCLINATION="482;26;" ID="Arrow_ID_550869434" SOURCE="ID_1704365524" STARTARROW="None" STARTINCLINATION="423;25;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node COLOR="#338800" CREATED="1698533152440" ID="ID_326051657" MODIFIED="1698971485135" TEXT="Flag für verbindlichen Task in den Scheduler einbauen">
|
||||
<arrowlink COLOR="#3ebbf1" DESTINATION="ID_1286321982" ENDARROW="Default" ENDINCLINATION="107;492;" ID="Arrow_ID_1399415601" STARTARROW="None" STARTINCLINATION="922;-57;"/>
|
||||
<linktarget COLOR="#35b0df" DESTINATION="ID_326051657" ENDARROW="Default" ENDINCLINATION="482;26;" ID="Arrow_ID_550869434" SOURCE="ID_1704365524" STARTARROW="None" STARTINCLINATION="423;25;"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1698526632870" ID="ID_1680559422" MODIFIED="1698526704177">
|
||||
|
|
@ -95519,14 +95565,14 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<linktarget COLOR="#fd2f46" DESTINATION="ID_1153107499" ENDARROW="Default" ENDINCLINATION="524;-25;" ID="Arrow_ID_251741761" SOURCE="ID_1189633297" STARTARROW="None" STARTINCLINATION="420;464;"/>
|
||||
<icon BUILTIN="idea"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1698533344228" ID="ID_1704365524" MODIFIED="1698533633384" TEXT="der Tick aktualisiert jeweils den Queue-Head">
|
||||
<arrowlink COLOR="#df3563" DESTINATION="ID_326051657" ENDARROW="Default" ENDINCLINATION="482;26;" ID="Arrow_ID_550869434" STARTARROW="None" STARTINCLINATION="423;25;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node COLOR="#338800" CREATED="1698533344228" ID="ID_1704365524" MODIFIED="1698971421581" TEXT="der Tick aktualisiert jeweils den Queue-Head">
|
||||
<arrowlink COLOR="#35b0df" DESTINATION="ID_326051657" ENDARROW="Default" ENDINCLINATION="482;26;" ID="Arrow_ID_550869434" STARTARROW="None" STARTINCLINATION="423;25;"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1698533408036" ID="ID_748059800" MODIFIED="1698533723760" TEXT="wenn eine verbindliche Aktivität überfahren wird �� Scheduler-Emergency">
|
||||
<node BACKGROUND_COLOR="#c8c0b6" COLOR="#435e98" CREATED="1698533408036" ID="ID_748059800" MODIFIED="1698971458273" TEXT="wenn eine verbindliche Aktivität überfahren wird �� Scheduler-Emergency">
|
||||
<arrowlink COLOR="#b44670" DESTINATION="ID_269636711" ENDARROW="Default" ENDINCLINATION="204;-1082;" ID="Arrow_ID_1625681464" STARTARROW="None" STARTINCLINATION="-1259;48;"/>
|
||||
<arrowlink COLOR="#d54a7e" DESTINATION="ID_1227874220" ENDARROW="Default" ENDINCLINATION="-1477;121;" ID="Arrow_ID_677451247" STARTARROW="None" STARTINCLINATION="-536;-12;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<arrowlink COLOR="#544ad5" DESTINATION="ID_1227874220" ENDARROW="Default" ENDINCLINATION="-1477;121;" ID="Arrow_ID_677451247" STARTARROW="None" STARTINCLINATION="-536;-12;"/>
|
||||
<icon BUILTIN="yes"/>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1698530399254" ID="ID_1046746147" MODIFIED="1698530408833" TEXT="Außen-Überwachung...">
|
||||
|
|
@ -95538,6 +95584,16 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<node CREATED="1698530454718" ID="ID_1982008339" MODIFIED="1698530612783" TEXT="muß vor dem BlockFlow-Clean-up sitzen">
|
||||
<arrowlink COLOR="#ed3471" DESTINATION="ID_355476974" ENDARROW="Default" ENDINCLINATION="-616;43;" ID="Arrow_ID_729257748" STARTARROW="None" STARTINCLINATION="689;49;"/>
|
||||
</node>
|
||||
<node CREATED="1698971338638" ID="ID_1616058266" MODIFIED="1698971382127" TEXT="Warnschwelle == Deadline der periodischen »Tick«-Activity">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
derzeit eingestellt auf 50ms
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1698529860655" ID="ID_315208147" MODIFIED="1698529868790" TEXT="es muß einen sauberen Abbruch geben">
|
||||
|
|
|
|||
Loading…
Reference in a new issue