[ 
https://issues.apache.org/jira/browse/IOTA-16?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15360329#comment-15360329
 ] 

Tony Faustini commented on IOTA-16:
-----------------------------------

To run fey you need the main fey engine which is in iota-fey-core.jar.  You can 
run fey in
1) A production mode where you want fault-tolerant / resilient behavior
2) A development mode where you want to develop Performers/components. I will 
focus on the development mode here ( a mode where fault-tolerance is not of 
concern for iota-core)

If you have an iota-fey-core.jar then you would simple run 
java --jar iota-fey-core.jar <Your fey config file>

We will add documentation on how to generate the iota-fey-core.jar from the fey 
core source code. This will require a slight change in the current source code 
in Build.scala 
(see publishTo in Build.scala).  You could try modify this yourself for the 
moment or wait for our update. Assuming you have an iota-fey-core.jar file you 
need to setup your development environment 

I have my system setup with 
1) a .fey directory in my home directory (Fey will create log files in this 
directory)
2) a fey directory (which I reference in my configuration file) in which I 
place two other directories. One for the jar files that defines performers and 
this is called FeyJARRepo. In this directory you would place your Performer jar 
files like fey_stream.jar if you look at the Sample Stream performer . The 
other directory is FeyJSONRepo where I store my JSON files that define the 
Orchestrations that Fey will execute when run. Here is a very simple example of 
a JSON file
{
  "guid": "SIMPLE_ORCHESTRATION",
  "command": "CREATE",
  "timestamp": "7919767890",
  "name": "SIMPLE",
  "ensembles": [
    {
      "guid": "SIMPLE_ENSEMBLE",
      "command": "NONE",
      "performers": [
        {
          "guid": "Stream",
          "schedule": 1000,
          "backoff": 0,
          "source": {
            "name": "fey_stream.jar",
            "classPath": "org.apache.iota.fey.performer.Timestamp",
            "parameters": {
            }
          }
        }
      ],
      "connections": [
      ]
    }
  ]
}
This is not a very interesting orchestration. Successfully running this 
orchestration is a good way to make sure your system is setup correctly.

3) I have a variable called FEY_CONFIG_FILE in my .bash_profile (in my home 
directory in which I export FEY_CONFIG_FILE, remember to source 
~/.bash_profile). I can then start Fey with java --jar iota-fey-core.jar 
$FEY_CONFIG_FILE
4) My personal config file looks like
fey-global-configuration{
  json-repository = 
"/Users/tonyfaustini19/IntellijProjects/Performers/fey/FeyJSONRepo"
  jar-repository = 
"/Users/tonyfaustini19/IntellijProjects/Performers/fey/FeyJARRepo"
  enable-checkpoint=false
}
note I have enable-checkpoint set to false since I am in development mode. In 
production this would be set to true.

Thanks for your interest in iota

-Tony






> Review Readme.rd
> ----------------
>
>                 Key: IOTA-16
>                 URL: https://issues.apache.org/jira/browse/IOTA-16
>             Project: Iota
>          Issue Type: Task
>            Reporter: Tony Faustini
>            Assignee: Tony Faustini
>            Priority: Minor
>




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to