@@ -7,7 +7,7 @@ It also has a built-in command for launching external non-.NET programs.
77
88Get started by pulling the binaries from the [ latest release] ( https://github.com/InEngine-NET/InEngine.NET/releases ) on GitHub.
99
10- Then run a command the ** echo** command from the core plugin:
10+ Then run the ** echo** command from the core plugin:
1111
1212``` bash
1313inengine.exe echo --text" Hello, world"
@@ -32,8 +32,6 @@ docker run --rm inengine echo --text"Hello, world"
3232
3333## How does queueing work?
3434
35- There are a lot of [ queuing] ( queuing ) features, but this is the gist...
36-
3735Want to queue our example echo command to run in the background or possibly on another server?
3836
3937Use the core plugin's ** queue: publish ** command:
@@ -44,24 +42,47 @@ inengine.exe queue:publish --command-plugin=InEngine.Core --command-verb=echo --
4442
4543How do we consume that queued echo command?
4644
47- Use the core plugin's ** queue: consume ** command of course :
45+ Use the core plugin's ** queue: consume ** command:
4846
4947``` bash
5048inengine.exe queue:consume
5149```
5250
5351## How do I run non-.NET commands?
5452
55- There is a special ** proc ** command in the core plugin that allows for the execution of any program you can run at the command line.
53+ There is a special ** exec ** command in the core plugin that allows for the execution of any program you can run at the command line.
5654
5755For example, create a python script called ** helloworld.py** that contains this:
5856
5957``` python
6058print ' Hello, world!'
6159```
6260
63- Now execute it with the ** proc** command:
61+ Whitelist the "python" command in the [ appsettings.json] ( configuration ) file:
62+
63+ ``` json
64+ {
65+ "InEngine" : {
66+ // ...
67+ "ExecWhitelist" : {
68+ "python" : " /usr/bin/python"
69+ }
70+ // ...
71+ }
72+ }
73+ ```
74+
75+ Now execute it with the ** exec** command:
76+
77+ ``` bash
78+ inengine exe --command=python --args=helloworld.py
79+ ```
80+
81+ Why would you want to do this?
82+ It opens up the possibility of running shell scripts, ETLs, Java programs, etc. in the background or on a schedule.
83+
84+ The example python script can be queued:
6485
6586``` bash
66- inengine proc --command=/usr/bin/python --args=helloworld.py
87+ inengine queue:publish --command-plugin=InEngine.Core --command-verb=exec -- args=" executable=python " " args= helloworld.py"
6788```
0 commit comments