{"repo":"siemens/wfx","free":true,"listed":false,"github":"https://github.com/siemens/wfx","clone":"git clone https://github.com/siemens/wfx.git","description":"a lightweight, general-purpose workflow executor","language":"Go","stars":70,"topics":["firmware-update","ota","ota-update","software-update","swupdate","wfx","workflow-engine","workflow"],"license":"Apache-2.0","category":"workflow-automation","readme_excerpt":"wfx A lightweight, general-purpose workflow executor. Overview Workflows are modeled as finite-state machines and are instantiated as Jobs through which the wfx and a client progress in lock-step to perform a task. Such a task could be software updating the client, progressing a work item through Kanban, … in essence anything requiring cooperation and coordination. As being general purpose, wfx is only concerned with driving the (state) machinery, the specific actions a client should perform are encoded in the client implementation(s). Hence, one wfx instance can drive a multitude of wholly different workflows. Instantiating a workflow as a job augments it with additional metadata, the Job Definition , which contains job-specific information such as, e.g., URLs or other data the client (implementation) can make use of for this particular job. To illustrate the concepts as well as the wfx / client interaction, consider the following figure with the wfx having loaded a number of workflows Workflow A , Workflow B , … that got instantiated as Job 1 , Job 2 , Job 3 , … with a Client Y working on Job 1 : It polls the wfx for a new job or the current job's status, in return receives the job information, performs actions if applicable, and finally reports the new job status back to the wfx. This lock-step procedure is repeated until the workflow reaches a terminal state which could be identified with, e.g., success or failure. wfx in (Example) Action An exemplary Kanban-inspired work","default_branch":null,"files":null,"tree":[],"storefront":"/r/siemens","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/siemens/wfx/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}