{"repo":"floraison/flor","free":true,"listed":false,"github":"https://github.com/floraison/flor","clone":"git clone https://github.com/floraison/flor.git","description":"a workflow engine","language":"Ruby","stars":286,"topics":["ruby","workflow-engine","workflow","bpm","flor"],"license":"MIT","category":"workflow-automation","readme_excerpt":"flor Flor is a \"Ruby workflow engine\", if that makes any sense. use As a workflow engine, flor takes as input process definitions and executes them. Those executions may in turn call pieces of Ruby code or external scripts that perform the actual work. Those pieces of code and scripts are called \"taskers\". The classical way to use a language interpreter is to instantiate it as needed and let it die as the host execution ends. A workflow engine is more like a server, it may host multiple executions. And if the workflow engine stops, it may be restarted and pick the work back, when it was when it stopped. Flor process definitions are written in the flor language, a programming language mostly inspired by Scheme and Ruby. As always with programming languages, readability is hoped for, for a workflow engine this is especially necessary since those business processes are the bread and butter of business users. Using flor in your Ruby project requires you to clearly separate business process definitions from taskers. Since a flor instance may host multiple process executions based on one or more process definitions, many of the taskers may be reused from one definition to the other. For instance, if a \"send-invoice-to-customer\" tasker is created it might get used in the \"process-retail-order\" and the \"process-big-distribution-order\" processes. design Strives to propose a scheming interpreter for long running executions Is written in Ruby, a rather straightforward language with at l","default_branch":null,"files":null,"tree":[],"storefront":"/r/floraison","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/floraison/flor/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."}