tuttle icon indicating copy to clipboard operation
tuttle copied to clipboard

Parallelization

Open lexman opened this issue 9 years ago • 0 comments

In order to run several process at the same time, a worker should be able to join the main runner.

Workers should not have to be on the same machine, which would enable multiplateform workflows

A simple way of dealing with authentication and API whould be... To use shared directories : if you have the right to access and write to the project directory, you have the right to run a process and to update the workflow state

Moving the workfow's state to sqlite could be a way of :

  • defining an interface between workers
  • dealing with concurency
  • storing workflow's state

One fear is that sqlite recommands not sharing databases with Windows or OSX because some file lock implementations are broken in these operating systems : https://www.sqlite.org/atomiccommit.html#sect_9_0

This issue could be avoided with an extra lock

Implementing concurecy could be the occasion to have a thread read stdout and stderr from a process, and display it in realtime (for the moment, logs are displayed once the process is complete)

With this system, one could add processing power to an already running workflow on his machine, on the fly. And contribute processing power to his coworkers if they share their developpement directory

lexman avatar Jun 23 '15 18:06 lexman