Open joschrew opened 1 year ago
I think solution should be the METS server, which does not require file locking since all file access happens through the server. You would start it for a specific workspace:
ocrd workspace mets-server start --port 12345 --host localhost --mets-file /path/to/workspace/mets.xml
The METS server should implement the same behavior as the OcrdMets
class and offer the same Python interface for clients, so processors don't need to know wheter they are running with a file- or server-based OcrdMets
.
Then you can run the processors with a reference to the METS server:
ocrd-process-stuff -m https://localhost:12345
ocrd-process-other-stuff -m https://localhost:12345
with the processing broker / processing servers a workspace is accessed by different processors possibly at the same time. Some mechanism is necessary to synchronize the mets modification. Further discussion is needed on how to solve this problem. Options could be the mets-server or some kind of lock-mechanism on the metsfile. I created this issue according to what robert mentioned at the open techcall.