- Ajout possibilité de faire attendre une tâche après un SBE
This commit is contained in:
parent
6a002327db
commit
308bc783ac
@ -79,9 +79,12 @@ public class StoreProcessor extends Thread implements AutoCloseable {
|
|||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
this.client_run = true;
|
this.client_run = true;
|
||||||
|
|
||||||
while (this.client_run) {
|
while (this.client_run) {
|
||||||
try {
|
try {
|
||||||
|
if (protocolResult == null) { // Si on n'a pas encore la commande à envoyer
|
||||||
waitAction();
|
waitAction();
|
||||||
|
}
|
||||||
System.out.println("[SBE] Envoie commande : " + protocolResult.getCommand());
|
System.out.println("[SBE] Envoie commande : " + protocolResult.getCommand());
|
||||||
|
|
||||||
// Request
|
// Request
|
||||||
@ -209,7 +212,6 @@ public class StoreProcessor extends Thread implements AutoCloseable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean canProcessTask() {
|
public boolean canProcessTask() {
|
||||||
System.out.println("[OK 2] " + protocolResult + " - " + domain);
|
|
||||||
return this.protocolResult == null; // Vérifier si tâche veut ce SBE
|
return this.protocolResult == null; // Vérifier si tâche veut ce SBE
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -68,12 +68,11 @@ public class FileFrontEnd implements ClientHandlerFFE, StoreProcessorFFE {
|
|||||||
|
|
||||||
private void assignOtherTask(StoreProcessor store) {
|
private void assignOtherTask(StoreProcessor store) {
|
||||||
Iterator<Task> it = tasks.iterator();
|
Iterator<Task> it = tasks.iterator();
|
||||||
|
|
||||||
while (it.hasNext()) {
|
while (it.hasNext()) {
|
||||||
Task task = it.next();
|
Task task = it.next();
|
||||||
if (task.getDomain() == null && store.canProcessTask()) {
|
if (task.getDomain() == null && store.canProcessTask()) {
|
||||||
storeRepository.assignTask(store.getDomain(), task);
|
|
||||||
task.setDomain(store.getDomain());
|
task.setDomain(store.getDomain());
|
||||||
|
store.executeCommand(task.getContext(), task.getCommand());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -75,12 +75,23 @@ public class StoreProcessorRepository implements AutoCloseable, MulticastSPR {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private StoreProcessor getSBE(String stor) {
|
||||||
|
for (StoreProcessor handler : handlers) {
|
||||||
|
if (handler.getDomain().equals(stor)) {
|
||||||
|
return handler;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void assignTask(String stor, Task task) {
|
public void assignTask(String stor, Task task) {
|
||||||
StoreProcessor handler = findSBE();
|
StoreProcessor handler = getSBE(stor);
|
||||||
System.out.println("Find stor : " + handler);
|
if (handler != null) {
|
||||||
handler.executeCommand(task.getContext(), task.getCommand());
|
handler.executeCommand(task.getContext(), task.getCommand());
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean hasDomain(String domain) {
|
public boolean hasDomain(String domain) {
|
||||||
|
@ -1,42 +1 @@
|
|||||||
{
|
{"unicast_port":8000,"multicast_ip":"224.66.66.1","multicast_port":15502,"network_interface":"wlp1s0","tls":true,"storagePath":"/home/benjamin/ffe","users":[{"name":"benjamin","password":"$2a$10$I4vHt83CTYuQCP7xvZ04Ne7Vb0cswBiVZhV0n23k9FCxoH0ny9fZG","aes_key":"mAP6izUBUhBxIkakH2yB/TplhRz1OQV5Fp6HQmhywns=","files":[{"name":"README.md","fileNameSalt":"atK0eGo/J8IBOTCpIZpWow==","size":17,"iv":"fXPzefxl0cO4Hf02Qwi+BA==","storage":["lightcontainerSB01"]}]},{"name":"aaaaa","password":"$2a$10$nDCEDVwbNO/YDQ4qdRcxfuES4.aboluLzWouXXsk6vDoaWocv516W","aes_key":"kYtwHy9qJBg30WS6axWTFGVE0Ge5kpYiJJlC+COIEI4=","files":[{"name":"ca.crt","fileNameSalt":"qz6FoPGyJJ8Hy+1LIouvZA==","size":4207,"iv":"8v2H+cOzztD++NXHXw5Ofw==","storage":["lightcontainerSB01"]}]}]}
|
||||||
"unicast_port": 8000,
|
|
||||||
"multicast_ip": "224.66.66.1",
|
|
||||||
"multicast_port": 15502,
|
|
||||||
"network_interface": "wlp1s0",
|
|
||||||
"tls": true,
|
|
||||||
"storagePath": "/home/benjamin/ffe",
|
|
||||||
"users": [
|
|
||||||
{
|
|
||||||
"name": "benjamin",
|
|
||||||
"password": "$2a$10$I4vHt83CTYuQCP7xvZ04Ne7Vb0cswBiVZhV0n23k9FCxoH0ny9fZG",
|
|
||||||
"aes_key": "mAP6izUBUhBxIkakH2yB/TplhRz1OQV5Fp6HQmhywns=",
|
|
||||||
"files": [
|
|
||||||
{
|
|
||||||
"name": "README.md",
|
|
||||||
"fileNameSalt": "5k8bd3/hn5ehdkCRJ0MGRQ==",
|
|
||||||
"size": 17,
|
|
||||||
"iv": "/sEVBG7kKnMaJcg5Wpz2bQ==",
|
|
||||||
"storage": [
|
|
||||||
"lightcontainerSB02"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "aaaaa",
|
|
||||||
"password": "$2a$10$nDCEDVwbNO/YDQ4qdRcxfuES4.aboluLzWouXXsk6vDoaWocv516W",
|
|
||||||
"aes_key": "kYtwHy9qJBg30WS6axWTFGVE0Ge5kpYiJJlC+COIEI4=",
|
|
||||||
"files": [
|
|
||||||
{
|
|
||||||
"name": "ca.crt",
|
|
||||||
"fileNameSalt": "JmISh065QAtDIePgl8IG2A==",
|
|
||||||
"size": 4207,
|
|
||||||
"iv": "Tg3aeOm1U0hQI1VqSZbAJw==",
|
|
||||||
"storage": [
|
|
||||||
"lightcontainerSB01"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user