vidjil issueshttps://gitlab.inria.fr/vidjil/vidjil/-/issues2024-03-20T17:10:05+01:00https://gitlab.inria.fr/vidjil/vidjil/-/issues/5269Bad redirection after impersonate2024-03-20T17:10:05+01:00THONIER FlorianBad redirection after impersonateIf we are on a admin page and we do an impersonate, we get an empty page from the server.
No problem if we are on a common page (patients, ...).
This is probably due to a missing redirect in this case.If we are on a admin page and we do an impersonate, we get an empty page from the server.
No problem if we are on a common page (patients, ...).
This is probably due to a missing redirect in this case.Web 2024.04https://gitlab.inria.fr/vidjil/vidjil/-/issues/5267Refactor database for scheduler tables2024-03-22T12:17:40+01:00THONIER FlorianRefactor database for scheduler tablesWith py4web, we don't need anymore of shedulers_xxx tables that was very specific of web2py.
We also need to add some step to write pertinent information as start/stop date of running process.With py4web, we don't need anymore of shedulers_xxx tables that was very specific of web2py.
We also need to add some step to write pertinent information as start/stop date of running process.Web 2024.04https://gitlab.inria.fr/vidjil/vidjil/-/issues/5266Delete old fashion distributions computed in reads2024-03-19T12:34:55+01:00THONIER FlorianDelete old fashion distributions computed in readsWe still compute a reads->distributions values.
This values seem to ne never used.
It is made on server side.
Check if really never use and delete in that case.We still compute a reads->distributions values.
This values seem to ne never used.
It is made on server side.
Check if really never use and delete in that case.Web 2024.04https://gitlab.inria.fr/vidjil/vidjil/-/issues/5265MySQL connection error ?2024-03-22T12:19:43+01:00CHESNIN ClementMySQL connection error ?Le 14/03/24, nous avons constaté des erreurs 500 de façon aléatoire sur app.
Dans le dashboard, on a effectivement beaucoup d'erreurs :
![image](/uploads/034859bcb058bb89ae67b53a3f0b2fac/image.png)
On observe deux types d'erreurs :
```
...Le 14/03/24, nous avons constaté des erreurs 500 de façon aléatoire sur app.
Dans le dashboard, on a effectivement beaucoup d'erreurs :
![image](/uploads/034859bcb058bb89ae67b53a3f0b2fac/image.png)
On observe deux types d'erreurs :
```
Traceback (most recent call last):
File "/usr/local/lib/python3.8/dist-packages/pymysql/connections.py", line 803, in _write_bytes
self._sock.sendall(data)
BrokenPipeError: [Errno 32] Broken pipe
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.8/dist-packages/py4web/core.py", line 944, in wrapper
ret = func(*func_args, **func_kwargs)
File "/usr/local/lib/python3.8/dist-packages/py4web/core.py", line 929, in wrapper
raise context["exception"]
File "/usr/local/lib/python3.8/dist-packages/py4web/core.py", line 908, in wrapper
context["output"] = func(*args, **kwargs)
File "/usr/share/vidjil/server/py4web/apps/vidjil/modules/vidjil_utils.py", line 73, in wrapper
result = func(*args, **kwargs)
File "/usr/share/vidjil/server/py4web/apps/vidjil/controllers/sample_set.py", line 322, in all
log.info("%s list %s" % (type, search), extra={'user_id': auth.user_id,
File "/usr/lib/python3.8/logging/__init__.py", line 1806, in info
self.log(INFO, msg, *args, **kwargs)
File "/usr/lib/python3.8/logging/__init__.py", line 1844, in log
self.logger.log(level, msg, *args, **kwargs)
File "/usr/lib/python3.8/logging/__init__.py", line 1512, in log
self._log(level, msg, args, **kwargs)
File "/usr/lib/python3.8/logging/__init__.py", line 1589, in _log
self.handle(record)
File "/usr/lib/python3.8/logging/__init__.py", line 1599, in handle
self.callHandlers(record)
File "/usr/lib/python3.8/logging/__init__.py", line 1661, in callHandlers
hdlr.handle(record)
File "/usr/lib/python3.8/logging/__init__.py", line 954, in handle
self.emit(record)
File "/usr/share/vidjil/server/py4web/apps/vidjil/common.py", line 179, in emit
db[self.table].insert(
File "/usr/local/lib/python3.8/dist-packages/pydal/objects.py", line 892, in insert
ret = self._db._adapter.insert(self, row.op_values())
File "/usr/local/lib/python3.8/dist-packages/pydal/adapters/base.py", line 546, in insert
raise e
File "/usr/local/lib/python3.8/dist-packages/pydal/adapters/base.py", line 541, in insert
self.execute(query)
File "/usr/local/lib/python3.8/dist-packages/pydal/adapters/__init__.py", line 70, in wrap
return f(*args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/pydal/adapters/base.py", line 468, in execute
rv = self.cursor.execute(command, *args[1:], **kwargs)
File "/usr/local/lib/python3.8/dist-packages/pymysql/cursors.py", line 153, in execute
result = self._query(query)
File "/usr/local/lib/python3.8/dist-packages/pymysql/cursors.py", line 322, in _query
conn.query(q)
File "/usr/local/lib/python3.8/dist-packages/pymysql/connections.py", line 557, in query
self._execute_command(COMMAND.COM_QUERY, sql)
File "/usr/local/lib/python3.8/dist-packages/pymysql/connections.py", line 861, in _execute_command
self._write_bytes(packet)
File "/usr/local/lib/python3.8/dist-packages/pymysql/connections.py", line 806, in _write_bytes
raise err.OperationalError(
pymysql.err.OperationalError: (2006, "MySQL server has gone away (BrokenPipeError(32, 'Broken pipe'))")
```
et
```
Traceback (most recent call last):
File "/usr/local/lib/python3.8/dist-packages/py4web/core.py", line 944, in wrapper
ret = func(*func_args, **func_kwargs)
File "/usr/local/lib/python3.8/dist-packages/py4web/core.py", line 929, in wrapper
raise context["exception"]
File "/usr/local/lib/python3.8/dist-packages/py4web/core.py", line 908, in wrapper
context["output"] = func(*args, **kwargs)
File "/usr/share/vidjil/server/py4web/apps/vidjil/modules/vidjil_utils.py", line 73, in wrapper
result = func(*args, **kwargs)
File "/usr/share/vidjil/server/py4web/apps/vidjil/controllers/sample_set.py", line 322, in all
log.info("%s list %s" % (type, search), extra={'user_id': auth.user_id,
File "/usr/lib/python3.8/logging/__init__.py", line 1806, in info
self.log(INFO, msg, *args, **kwargs)
File "/usr/lib/python3.8/logging/__init__.py", line 1844, in log
self.logger.log(level, msg, *args, **kwargs)
File "/usr/lib/python3.8/logging/__init__.py", line 1512, in log
self._log(level, msg, args, **kwargs)
File "/usr/lib/python3.8/logging/__init__.py", line 1589, in _log
self.handle(record)
File "/usr/lib/python3.8/logging/__init__.py", line 1599, in handle
self.callHandlers(record)
File "/usr/lib/python3.8/logging/__init__.py", line 1661, in callHandlers
hdlr.handle(record)
File "/usr/lib/python3.8/logging/__init__.py", line 954, in handle
self.emit(record)
File "/usr/share/vidjil/server/py4web/apps/vidjil/common.py", line 179, in emit
db[self.table].insert(
File "/usr/local/lib/python3.8/dist-packages/pydal/objects.py", line 892, in insert
ret = self._db._adapter.insert(self, row.op_values())
File "/usr/local/lib/python3.8/dist-packages/pydal/adapters/base.py", line 546, in insert
raise e
File "/usr/local/lib/python3.8/dist-packages/pydal/adapters/base.py", line 541, in insert
self.execute(query)
File "/usr/local/lib/python3.8/dist-packages/pydal/adapters/__init__.py", line 70, in wrap
return f(*args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/pydal/adapters/base.py", line 468, in execute
rv = self.cursor.execute(command, *args[1:], **kwargs)
File "/usr/local/lib/python3.8/dist-packages/pymysql/cursors.py", line 153, in execute
result = self._query(query)
File "/usr/local/lib/python3.8/dist-packages/pymysql/cursors.py", line 322, in _query
conn.query(q)
File "/usr/local/lib/python3.8/dist-packages/pymysql/connections.py", line 557, in query
self._execute_command(COMMAND.COM_QUERY, sql)
File "/usr/local/lib/python3.8/dist-packages/pymysql/connections.py", line 840, in _execute_command
raise err.InterfaceError(0, "")
pymysql.err.InterfaceError: (0, '')
```
sur différentes pages.
En jouant avec app, une page peut faire une erreur 500 et au rechargement ne plus en faire.
L'hypothèse que nous avons faite avec @fthonier serait qu'au moins un thread aurait perdu la connection mysql et ne la redémarre pas. Nous avons donc testé de redémarrer uwsgi, et pour le moment nous n'avons pas reproduit l'erreur.
cf en PJ:
- les logs docker autour du premier souci identifié (issue de la commande ```docker logs -t vidjil_uwsgi --since 2024-03-14T07 --until 2024-03-14T09```)[docker-uwsgi-logs.log](/uploads/6fca1b881a1d36cd389524ffd7fca660/docker-uwsgi-logs.log)
- un extrait des logs debug vidjil autour des mêmes heure[vidjil-debug-extract.log](/uploads/6fbbc091fb5eedffeb95643dadf788c4/vidjil-debug-extract.log)https://gitlab.inria.fr/vidjil/vidjil/-/issues/5261Preprocess with vdj filter for large capture files ?2024-03-27T14:00:29+01:00THONIER FlorianPreprocess with vdj filter for large capture files ?We have number of user that load large file with small part of vdj in it. Should we make a preprocess that launch a vidjil-algo filter on it and delete temp data to save disk space and gain fluidity on real analysis ?
We still have iss...We have number of user that load large file with small part of vdj in it. Should we make a preprocess that launch a vidjil-algo filter on it and delete temp data to save disk space and gain fluidity on real analysis ?
We still have issue on upload data to server but it is already the case.Web 2024.04https://gitlab.inria.fr/vidjil/vidjil/-/issues/5260user group don't show name anymore since release 2024.012024-02-23T10:32:02+01:00THONIER Florianuser group don't show name anymore since release 2024.01We don't get anymore name of user in information of a personal group.
Is it a feature or a bug ?We don't get anymore name of user in information of a personal group.
Is it a feature or a bug ?Web 2024.04https://gitlab.inria.fr/vidjil/vidjil/-/issues/5259search field; include creator user ?2024-02-21T14:18:06+01:00THONIER Floriansearch field; include creator user ?A specific case for ~"LIL-Lille" : a patient have the same last name that a user of the team.
The search return all patients created by this users and inside the list the expected patient. Should we ?
A search with both last and firs...A specific case for ~"LIL-Lille" : a patient have the same last name that a user of the team.
The search return all patients created by this users and inside the list the expected patient. Should we ?
A search with both last and first name don't work.
One day, we will probably improve search we capacity to include field for search.
Until this time, what should we do ?Web 2024.04https://gitlab.inria.fr/vidjil/vidjil/-/issues/5256Better configuration files for docker2024-02-14T14:28:30+01:00THONIER FlorianBetter configuration files for dockerWe nned to have default configuration that we can override by other files if available.
This will be better to rebase repository for some server instances.We nned to have default configuration that we can override by other files if available.
This will be better to rebase repository for some server instances.Web 2024.04https://gitlab.inria.fr/vidjil/vidjil/-/issues/5255Add a direct download icon to config result on set page2024-02-13T12:48:37+01:00THONIER FlorianAdd a direct download icon to config result on set pageTo download result of fuse for a given configuration, add a down arrow to result button to easily download all conf results
![Screenshot_20240213_124613](/uploads/e3955fac8c275ad8c476f65a040a2fbe/Screenshot_20240213_124613.png)To download result of fuse for a given configuration, add a down arrow to result button to easily download all conf results
![Screenshot_20240213_124613](/uploads/e3955fac8c275ad8c476f65a040a2fbe/Screenshot_20240213_124613.png)Web 2024.04https://gitlab.inria.fr/vidjil/vidjil/-/issues/5254Deadlock occurred on app2024-02-14T15:19:07+01:00CHESNIN ClementDeadlock occurred on app## Description
Seen in https://vdb.vidjil.org/_dashboard/ticket/2457259c-1bd4-4920-9294-1ce0c220b3b8
```
Traceback (most recent call last):
File "/usr/local/lib/python3.8/dist-packages/py4web/core.py", line 944, in wrapper
ret = fu...## Description
Seen in https://vdb.vidjil.org/_dashboard/ticket/2457259c-1bd4-4920-9294-1ce0c220b3b8
```
Traceback (most recent call last):
File "/usr/local/lib/python3.8/dist-packages/py4web/core.py", line 944, in wrapper
ret = func(*func_args, **func_kwargs)
File "/usr/local/lib/python3.8/dist-packages/py4web/core.py", line 929, in wrapper
raise context["exception"]
File "/usr/local/lib/python3.8/dist-packages/py4web/core.py", line 908, in wrapper
context["output"] = func(*args, **kwargs)
File "/usr/share/vidjil/server/py4web/apps/vidjil/controllers/default.py", line 230, in run_request
res = schedule_run(request.query["sequence_file_id"], id_config, grep_reads)
File "/usr/share/vidjil/server/py4web/apps/vidjil/tasks.py", line 96, in schedule_run
db( ( db.results_file.config_id == id_config ) &
File "/usr/local/lib/python3.8/dist-packages/pydal/objects.py", line 2787, in update
ret = db._adapter.update(table, self.query, row.op_values())
File "/usr/local/lib/python3.8/dist-packages/pydal/adapters/base.py", line 586, in update
raise e
File "/usr/local/lib/python3.8/dist-packages/pydal/adapters/base.py", line 581, in update
self.execute(sql)
File "/usr/local/lib/python3.8/dist-packages/pydal/adapters/__init__.py", line 70, in wrap
return f(*args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/pydal/adapters/base.py", line 468, in execute
rv = self.cursor.execute(command, *args[1:], **kwargs)
File "/usr/local/lib/python3.8/dist-packages/pymysql/cursors.py", line 153, in execute
result = self._query(query)
File "/usr/local/lib/python3.8/dist-packages/pymysql/cursors.py", line 322, in _query
conn.query(q)
File "/usr/local/lib/python3.8/dist-packages/pymysql/connections.py", line 558, in query
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
File "/usr/local/lib/python3.8/dist-packages/pymysql/connections.py", line 822, in _read_query_result
result.read()
File "/usr/local/lib/python3.8/dist-packages/pymysql/connections.py", line 1200, in read
first_packet = self.connection._read_packet()
File "/usr/local/lib/python3.8/dist-packages/pymysql/connections.py", line 772, in _read_packet
packet.raise_for_error()
File "/usr/local/lib/python3.8/dist-packages/pymysql/protocol.py", line 221, in raise_for_error
err.raise_mysql_exception(self._data)
File "/usr/local/lib/python3.8/dist-packages/pymysql/err.py", line 143, in raise_mysql_exception
raise errorclass(errno, errval)
pymysql.err.OperationalError: (1213, 'Deadlock found when trying to get lock; try restarting transaction')
```
## Reproducibility ?
Hard to know what happened...
## fix clue
May be try and see analyses that were started around this time 2024-02-12 12:30:17
## Priority
Low while it is not reproduced?Web 2024.04https://gitlab.inria.fr/vidjil/vidjil/-/issues/5253500 error on usage page2024-02-14T15:18:48+01:00CHESNIN Clement500 error on usage page## Description
Seen on https://vdb.vidjil.org/_dashboard/ticket/85cadd06-f619-4015-801f-009bcf7852c8
```
Traceback (most recent call last):
File "/usr/local/lib/python3.8/dist-packages/py4web/core.py", line 944, in wrapper
ret = fu...## Description
Seen on https://vdb.vidjil.org/_dashboard/ticket/85cadd06-f619-4015-801f-009bcf7852c8
```
Traceback (most recent call last):
File "/usr/local/lib/python3.8/dist-packages/py4web/core.py", line 944, in wrapper
ret = func(*func_args, **func_kwargs)
File "/usr/local/lib/python3.8/dist-packages/py4web/core.py", line 929, in wrapper
raise context["exception"]
File "/usr/local/lib/python3.8/dist-packages/py4web/core.py", line 925, in wrapper
call(fixture.on_success, context)
File "/usr/local/lib/python3.8/dist-packages/py4web/core.py", line 891, in call
return f(context)
File "/usr/local/lib/python3.8/dist-packages/py4web/core.py", line 578, in on_success
context["output"] = render(
File "/usr/local/lib/python3.8/dist-packages/py4web/core.py", line 549, in render
return engine.render(filename, context=context)
File "/usr/local/lib/python3.8/dist-packages/renoir/apis.py", line 215, in render
return self._render(source, file_path, context)
File "/usr/local/lib/python3.8/dist-packages/renoir/apis.py", line 205, in _render
make_traceback(exc_info)
File "/usr/local/lib/python3.8/dist-packages/renoir/debug.py", line 116, in make_traceback
reraise(exc_type, exc_value, tb)
File "/usr/local/lib/python3.8/dist-packages/renoir/_internal.py", line 15, in reraise
raise value.with_traceback(tb)
File "/usr/share/vidjil/server/py4web/apps/vidjil/templates/my_account/index.html", line 47, in template
<span class="button button_token [[=fuse[3] ]]_token">
IndexError: list index out of range
```
## Reproducibility ?
Don't know how this happened
## fix clue
?
## Priority
?Web 2024.04https://gitlab.inria.fr/vidjil/vidjil/-/issues/5252Wrong error message disaplyed on app when 500 error occurs2024-02-14T15:17:59+01:00CHESNIN ClementWrong error message disaplyed on app when 500 error occurs## Description
When a 500 error occurs, a message regarding SSL connection is displayed instead of a meaningful error:
![Screenshot_from_2024-02-12_15-17-21](/uploads/e52279560f89cc38e386823c59c902e4/Screenshot_from_2024-02-12_15-17-21.p...## Description
When a 500 error occurs, a message regarding SSL connection is displayed instead of a meaningful error:
![Screenshot_from_2024-02-12_15-17-21](/uploads/e52279560f89cc38e386823c59c902e4/Screenshot_from_2024-02-12_15-17-21.png)
Note that the behavior is OK on vdb:
![Screenshot_from_2024-02-12_15-19-13](/uploads/6c6fcd900b76bd2128959d03e1e8daf1/Screenshot_from_2024-02-12_15-19-13.png)
## Reproducibility ?
Systematic when a 500 error occurs
## fix clue
We get a CORS issue in console (see capture above)
See also if it is related to #5250 or #5249
## Priority
?Web 2024.04https://gitlab.inria.fr/vidjil/vidjil/-/issues/5239Slow request to IMGT2024-02-14T15:20:43+01:00THONIER FlorianSlow request to IMGTSince some times, we got slow answer from imgt in our CI pipeline (probably the same in current usage).
It take from 4sec to 30sec.
We need to increase timeout in our cypress jobs that are usually of 4sec by default.Since some times, we got slow answer from imgt in our CI pipeline (probably the same in current usage).
It take from 4sec to 30sec.
We need to increase timeout in our cypress jobs that are usually of 4sec by default.Web 2024.04https://gitlab.inria.fr/vidjil/vidjil/-/issues/5236Error when filtering sample by tag in compare sample2024-01-31T11:30:50+01:00CHESNIN ClementError when filtering sample by tag in compare sampleVu lors de #5234
Pour reproduire :
1. créer un set avec plusieurs samples, dont au moins un avec un tag
2. cliquer sur `Compare samples`
3. cliquer sur le tag
--> l'erreur `missing field id` apparait
Plus globalement, la method `cust...Vu lors de #5234
Pour reproduire :
1. créer un set avec plusieurs samples, dont au moins un avec un tag
2. cliquer sur `Compare samples`
3. cliquer sur le tag
--> l'erreur `missing field id` apparait
Plus globalement, la method `custom()` devrait être unit testée
![Screencast_from_2024-01-31_11-29-01](/uploads/033765827118b9a738b248e7fed8706a/Screencast_from_2024-01-31_11-29-01.webm)Web 2024.04https://gitlab.inria.fr/vidjil/vidjil/-/issues/5231Refacto .env and .env-default handling to prevent issue if .env is not define...2024-01-31T13:45:03+01:00CHESNIN ClementRefacto .env and .env-default handling to prevent issue if .env is not defined on local configC'est embêtant, parce qu'on a une erreur lorsqu'il n'y a rien dans le .env (ce qui est le cas par défaut)C'est embêtant, parce qu'on a une erreur lorsqu'il n'y a rien dans le .env (ce qui est le cas par défaut)Web 2024.04https://gitlab.inria.fr/vidjil/vidjil/-/issues/5230Error when opening access.log from admin page on app2024-01-31T13:47:58+01:00CHESNIN ClementError when opening access.log from admin page on appAprès la correction de https://gitlab.inria.fr/vidjil/vidjil/-/issues/5228, on a toujours un souci pour l'ouverture de du access.log nginx sur app. Ca fonctionne bien en local.
Voici la stack trace :
```
ERROR:root:Traceback (most recen...Après la correction de https://gitlab.inria.fr/vidjil/vidjil/-/issues/5228, on a toujours un souci pour l'ouverture de du access.log nginx sur app. Ca fonctionne bien en local.
Voici la stack trace :
```
ERROR:root:Traceback (most recent call last):
File "/usr/local/lib/python3.8/dist-packages/py4web/core.py", line 944, in wrapper
ret = func(*func_args, **func_kwargs)
File "/usr/local/lib/python3.8/dist-packages/py4web/core.py", line 929, in wrapper
raise context["exception"]
File "/usr/local/lib/python3.8/dist-packages/py4web/core.py", line 908, in wrapper
context["output"] = func(*args, **kwargs)
File "/usr/share/vidjil/server/py4web/apps/vidjil/modules/vidjil_utils.py", line 73, in wrapper
result = func(*args, **kwargs)
File "/usr/share/vidjil/server/py4web/apps/vidjil/controllers/admin.py", line 96, in showlog
for row in reversed(file.readlines()) :
MemoryError
```
C'est lié à la taille du fichier de log : `-rw-r--r-- 1 root root 4050790122 Jan 30 15:50 access.log`
Idées de solutions (potentiellement cumulables):
- Faire une rotation de logs dans différents fichiers
- N'afficher qu'un certain nombre de lignes dans l'interface
Il faudrait sans doute aussi regarder dans les autres fichiers de log (notamment vidjil)Web 2024.04https://gitlab.inria.fr/vidjil/vidjil/-/issues/5220configuration, don't allow to use "," or ";" characters in config name2024-01-31T14:31:06+01:00THONIER Florianconfiguration, don't allow to use "," or ";" characters in config nameThis character are use to split results content to create config result in set page table.
On vdb, we have to change 3 congif mus musculus to fix this.
On form to create config, we should put a restriction on text area content of this ...This character are use to split results content to create config result in set page table.
On vdb, we have to change 3 congif mus musculus to fix this.
On form to create config, we should put a restriction on text area content of this field.https://gitlab.inria.fr/vidjil/vidjil/-/issues/5218docker env; add rules for worker concurrency2024-01-31T19:03:16+01:00THONIER Floriandocker env; add rules for worker concurrencyWe need to be able to set number of concurrency of workers from an env.
For the moment, workers use the number of cpu threads as limit. We can set it by modifying entrypoint (--concurrency value).
The value should be taken from env.We need to be able to set number of concurrency of workers from an env.
For the moment, workers use the number of cpu threads as limit. We can set it by modifying entrypoint (--concurrency value).
The value should be taken from env.Web 2024.04https://gitlab.inria.fr/vidjil/vidjil/-/issues/5212Don't allow admin to create set for uncreated group2024-01-22T14:16:50+01:00THONIER FlorianDon't allow admin to create set for uncreated groupWhile testing API for group owner of created set, I saw a way to create set for every groups as an admin user, but also for unexistant group.
We need to make a better control before creation.
From API side, we should also add a way to...While testing API for group owner of created set, I saw a way to create set for every groups as an admin user, but also for unexistant group.
We need to make a better control before creation.
From API side, we should also add a way to stronger limit group choice.Web 2024.04https://gitlab.inria.fr/vidjil/vidjil/-/issues/5211CGI, custom_fuse, workers: unify ?2024-01-10T17:54:22+01:00THONIER FlorianCGI, custom_fuse, workers: unify ?Discuss with @clement.chesnin : We have 3 ways to make call to softwares on our server:
* CGI by nginx
* custom fuse with an ad-hoc server, transfert by py4web
* task with workers
At least CGI and custom_fuse could be unify in a same a...Discuss with @clement.chesnin : We have 3 ways to make call to softwares on our server:
* CGI by nginx
* custom fuse with an ad-hoc server, transfert by py4web
* task with workers
At least CGI and custom_fuse could be unify in a same ad-hoc server ? Other option ?Web 2024.04