README.md in legionio-0.4.0 vs README.md in legionio-0.4.1

- old
+ new

@@ -1,8 +1,8 @@ # LegionIO -LegionIO is a framework for automated and connecting things. You can see all the docs inside confluence +LegionIO is a framework for automating and connecting things. You can see all the docs inside confluence https://legionio.atlassian.net/wiki/spaces/LEGION/overview https://legionio.atlassian.net/wiki/spaces/LEX/pages/7864551/Extensions ### What does it do? LegionIO is an async job engine designed for scheduling tasks and creating relationships between things that wouldn't @@ -41,20 +41,19 @@ [lex list](https://bitbucket.org/legion-io/workspace/projects/LEX) A nice list in the wiki to view all the extensions, their docs and status [Legion Extensions](https://legionio.atlassian.net/wiki/spaces/LEX/pages/7864551/Extensions) ### Scheduling Tasks -1) Ensure you have the Legion::Data gem installed and configured -2) Make sure to have `lex-scheduler` extension installed so that it generates the schedules table in the database -3) From there you can add a function to be run at a given cron syntax or interval -4) Setting the interval column will make the job run X seconds after the last time it is completed and will ignore the cron colum -5) Setting the cron column will ensure the job runs at the given times regardless of when it was run last, only works if interval is null +1) Ensure you have the Legion::Data gem installed and configured +2) Make sure to have `lex-scheduler` extension installed so that it generates the schedules table in the database +3) From there you can add a function to be run at a given cron syntax or interval +4) Setting the interval column will make the job run X seconds after the last time it is completed and will ignore the cron colum +5) Setting the cron column will ensure the job runs at the given times regardless of when it was run last, only works if interval is null 6) Cron supports both `*/5 * * * *` style and verbose like `every minute` and `every day at noon` - ### Creating Relationships -To be populated +*To be populated* ### Conditions You can create complex conditional statements to ensure that when a triggers b, b only runs if certain conditions are met. Example conditional statement ```json @@ -145,18 +144,18 @@ ### But it is written in ruby Yep. ### Similiar projects -There are multiple projects that are similiar. Some things like IFTTT are great(but is it?) but then again, cost money. -* [Node-Red](https://nodered.org/) - No HA but has some good features and a great drag and drop interface -* [n8n.io](https://n8n.io/) - Working on HA but [not there yet](https://github.com/n8n-io/n8n/pull/1294) -* [StackStorm](https://stackstorm.com/) - Written in Python, has potential but I feel they are removing features to convince you to pay for it -* [Jenkins](https://www.jenkins.io/) - It's jenkins. I don't need to say anything else -* [Huginn]() - Another IFTTT style app written in ruby. Not sure on this one but it doesn't have HA from what I can tell [github issue](https://github.com/huginn/huginn/issues/2198) +There are multiple projects that are similiar. Some things like IFTTT are great(but is it?) but then again, cost money. +* [Node-Red](https://nodered.org/) - No HA but has some good features and a great drag and drop interface +* [n8n.io](https://n8n.io/) - Working on HA but [not there yet](https://github.com/n8n-io/n8n/pull/1294) +* [StackStorm](https://stackstorm.com/) - Written in Python, has potential but I feel they are removing features to convince you to pay for it +* [Jenkins](https://www.jenkins.io/) - It's jenkins. I don't need to say anything else +* [Huginn]() - Another IFTTT style app written in ruby. Not sure on this one but it doesn't have HA from what I can tell [github issue](https://github.com/huginn/huginn/issues/2198) ### Other fun facts -* Supports Hashicorp vault for storing secrets/settings/etc -* Can enable global message encryption so that all messages going through RMQ are encrypted with aes-256-cbc -* Each worker generates a private/public key that can be used for internode communication, it also will generate a cluster secret +* Supports Hashicorp vault for storing secrets/settings/etc +* Can enable global message encryption so that all messages going through RMQ are encrypted with aes-256-cbc +* Each worker generates a private/public key that can be used for internode communication, it also will generate a cluster secret for all nodes to have so they can share data accross the entire cluster. The cluster secret by default is stored only in memory and and is generated when the first worker starts