# TxJobExecutionOptions

Use TxJobExecutionOptions to change execution default behavior. The object is as follow:

```typescript
export interface TxJobExecutionOptions {
  persist: {
    ison: boolean;
    destroy: boolean;
  };
  execute: {
    until: string;
  }
}
```

**parameters**

* *persist.ison*: define if need to persist a job before calling to every component.
* *persist.destory*: define if need to completed destory the job when a job is reaching to it's execute.until component.
* *execute.until*: define the component's mountpoint name (sring | symbol) where need to stop and destory if persist.destory is on.

**usage**

```
let C1 = new C1Component();
let C2 = new C2Component();
let C3 = new C3Component();
 
// NOTE: you can use Symbols as well (see TxJob above).
let job = new TxJob(); // or create througth the TxJobRegistry
 
job.add(TxMountPointRegistry.instance.get('GITHUB::GIST::C1'));
job.add(TxMountPointRegistry.instance.get('GITHUB::GIST::C2'));
job.add(TxMountPointRegistry.instance.get('GITHUB::GIST::C3'));
 
job.execute(new TxTask({
    method: 'create',
    status: ''
  },
  {something: 'more data here'}
  ),
  {
    persist: {ison: true, destroy: true},
    execute: {until: 'GITHUB::GIST::C2'}
  } as TxJobExecutionOptions
);

```
