# Workflow Configuration

## Configs Class

The `Configs` class is a configuration class that holds various settings and parameters for your application. These settings can be used to control different aspects of your application's behavior.

### Class Methods are divided into the following categories:

* [Logging  Configuration](#logging-configuration)
* [Date and Time Configuration](#date-and-time-configuration)
* [Compiler Configuration](#compiler-configuration)
* [Automatic Cleanup](#automatic-cleanup)
* [Thread Pool Configuration (To be Implemented)](#thread-pool-configuration)
* [Retry Handling (To be implemented)](#retry-handling)
* [Timeout Configuration (To be implemented)](#timeout-configuration)
* [Storage Configuration (To be implemented)](#storage-configuration)

***

### Logging Configuration

**Log Level**

Returns the log level for controlling the verbosity of log messages.

<pre class="language-javascript"><code class="lang-javascript">// Accessing the log level
var logLevel = Configs.logLevel;
return "Current log level:" + logLevel;
// value = INFO
<strong>
</strong><strong>/* Current log level: WorkFlowConfigItem(group=GENERAL, needsRestart=true,
</strong><strong>             value=INFO, revision=1, changedInProd=false, 
</strong><strong>            updated=2023-09-13T13:11:39.571122Z, updatedBy=)
</strong><strong>*/
</strong></code></pre>

~~**Log Pattern**~~ (To be implemented)

* Field: `logPattern`
* Type: String
* Description: A string pattern for formatting log messages.

```
// Some code
```

***

### Date and Time Configuration

**Date Format**

* Field: `dateFormat`
* Type: String
* Description: The date format used in your application.

```typescript
// Accessing the date format in string value
var dateformat = Configs.dateFormat;
return "date format :" + dateformat;
// value = yyyy-MM-dd HH:mm:ss

/* WorkFlowConfigItem(group=GENERAL, needsRestart=false, value=yyyy-MM-dd HH:mm:ss, 
                revision=1, changedInProd=false, 
                updated=2023-10-31T13:26:17.472188200Z, updatedBy=)
*/
```

**Date Time Zone**

* Field: `dateTimeZone`
* Type: String
* Description: The time zone for date and time operations.

<pre class="language-typescript"><code class="lang-typescript">// Accessing the log level
var datetimezone = Configs.dateTimeZone;
return "Date-Time Zone:" + datetimezone ;
// value = Asia/Jerusalem

/* Date-Time Zone: WorkFlowConfigItem(group=GENERAL, needsRestart=false, 
<strong>                value=Asia/Jerusalem, revision=1, changedInProd=false, 
</strong><strong>                updated=2023-09-13T13:11:39.571122Z, updatedBy=)
</strong><strong>*/
</strong></code></pre>

***

### Compiler Configuration

**Compiler Cache**

* Field: `compilerCache`
* Type: Integer
* Description: Compiler cache settings.

<pre class="language-typescript"><code class="lang-typescript"><strong>// Accessing the compiler Cache value as Integer
</strong>var cache = Configs.compilerCache;
return "cache:" + cache;
// value = 256

/* cache: WorkFlowConfigItem(group=COMPILER, needsRestart=true, 
                value=256, revision=2, changedInProd=false, 
                updated=2023-09-13T13:11:39.586737Z, updatedBy=)
*/
</code></pre>

**Compiler Debug**

* Field: `compilerDebug`
* Type: Integer
* Description: Compiler debug settings.

```typescript
// Accessing the Compiler debug value as integer
var debug = Configs.compilerDebug;
return "debug:" + debug;
// value=true
/* :WorkFlowConfigItem(group=COMPILER, needsRestart=true, value=true, 
                revision=1, changedInProd=false, 
                updated=2023-10-31T13:26:17.472188200Z, updatedBy=)
*/
```

**Compiler Safety**

* Field: `compilerSafe`
* Type: Integer
* Description: Compiler safety settings.

```typescript
// Accessing the Compiler safe value as integer
var safe = Configs.compilerSafe;
return "safe :" + safe ;
// value= true

/* WorkFlowConfigItem(group=COMPILER, needsRestart=true, value=true, 
                revision=1, changedInProd=false, 
                updated=2023-10-31T13:26:17.472188200Z, updatedBy=)
*/
```

***

### Automatic Cleanup

**Auto-Clean Up History**

* Field: `autoCleanUpHistory`
* Type: Boolean
* Description: A boolean to enable automatic cleanup of historical data.

```typescript
// Accessing the log level
var bool = Configs.autoCleanUpHistory;
return " " + bool ;
// value = true

/* WorkFlowConfigItem(group=CLEANUP, needsRestart=false, value=true, revision=2, 
        changedInProd=false, updated=2023-09-13T13:11:39.586737Z, updatedBy=)
*/
```

**Auto-Clean Up Limit**

* Field: `autoCleanUpLimit`
* Type: Integer
* Description: The limit for automatic cleanup.

```typescript
// Accessing the log level
var limit = Configs.autoCleanUpLimit;
return "limit:" + limit;
// value = 0

/* limit:WorkFlowConfigItem(group=CLEANUP, needsRestart=false, value=0, 
                revision=1, changedInProd=false, 
                updated=2023-09-13T13:11:39.571122Z, updatedBy=)
*/
```

***

### ~~Thread Pool Configuration~~

**ExecutionIteration Pool** (To be implemented)

* Core Pool Size: `executionCorePoolSize`
* Maximum Pool Size: `executionMaximumPoolSize`
* Keep-Alive Time: `executionKeepAliveTime`

```
// Some code
```

**Trigger Handling** (To be implemented)

* Core Pool Size: `triggersCorePoolSize`
* Maximum Pool Size: `triggersMaximumPoolSize`
* Keep-Alive Time: `triggersKeepAliveTime`

```
// Some code
```

***

### ~~Retry Handling~~

**Immediate Retry** (To be implemented)

* Threads Count: `immediateRetryPoolThreadsCount`

```
// Some code
```

**Scheduled Retry** (To be implemented)

* Threads Count: `scheduledRetryPoolThreadsCount`

```
// Some code
```

***

### ~~Timeout Configuration~~

**Timeout Scheduler** (To be implemented)

* Threads Count: `timeoutSchedulerPoolThreadsCount`

```
// Some code
```

***

### ~~Storage Configuration~~

**Memory-Mapped Storage** (To be implemented)

* Field: `storageMmapEnabled`
* Type: Boolean
* Description: A boolean to enable/disable memory-mapped storage.

```
// Some code
```

**Pre-Clear Disable** (To be implemented)

* Field: `storagePreClearDisable`
* Type: Boolean
* Description: A boolean to disable pre-clearing storage.

```
// Some code
```

**Close on JVM Shutdown** (To be implemented)

* Field: `storageCloseOnJvmShutdown`
* Type: Boolean
* Description: A boolean to control whether storage is closed on JVM shutdown.

```
// Some code
```

**Checksum Header Bypass** (To be implemented)

* Field: `storageChecksumHeaderBypass`
* Type: Boolean
* Description: A boolean to bypass checksum headers.

```
// Some code
```

**Enable Transactions** (To be implemented)

* Field: `storageEnableTransactions`
* Type: Boolean
* Description: A boolean to enable transactions for storage.

```
// Some code
```

**File Lock Wait** (To be implemented)

* Field: `storageFileLockWait`
* Type: Integer
* Description: Wait time for file locking.

```
// Some code
```

***

~~**Notes**~~ (To be implemented)

A string to store notes or additional information.

```typescript
// Some code
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.b2winsuite.com/5.6/scripting/configurations/workflow-configuration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
