Ich habe zwei Skripte, nennen wir sie Skript1 und Skript2.
Skript1 wird alle 2 Minuten ausgeführt und benötigt 4 Minuten zur Ausführung. Skript2 wird alle 30 Minuten ausgeführt und benötigt 4 Minuten zur Ausführung. Momentan verwende ich Flock in den Skripten, um sicherzustellen, dass Skript1 und Skript2 nie gleichzeitig ausgeführt werden. Die Exklusivität der Schreibsperre führt jedoch dazu, dass Skript1 auch nie gleichzeitig ausgeführt wird.
In meinem Fall möchte ich die Parallelität von Skript1 und die Nicht-Parallelität mit Skript2 zulassen. Wenn ich eine Lesesperre zwischen den Instanzen von Skript1 verwende, besteht das Problem darin, dass ich eine Aushungerung für Skript2 verursache, sodass es nie ausgeführt wird.
Gibt es eine clevere Möglichkeit, das zu tun?
Das heißt, wenn eine Schreibsperre angefordert wird, wird die folgende Lesesperre nicht gewährt? Denn das ist das Problem, während Skript2 auf eine Schreibsperre wartet, gibt es andere Instanzen von Skript1, die die Lesesperre erhalten können, und die Instanz von Skript2 wartet ewig