# Server Command Line Utility

*Command Line Utility* gives users the ability to submit, terminate, and monitor jobs from the command line. The executable file, *Centerprisecl.exe*, and the assembly file, *Astera.Core.dll*, are essential to utilize the *Command Line Utility*. All other assemblies found in the server’s bin directory (read program files) are irrelevant. This means that *centerprisecl.exe* is a lightweight program that can be anywhere .NET is installed.

## **Syntax**

The syntax of the command is:

*centerprisecl \[-H \<ServerUri>] \[-R \<filePath> \[\[-A] \[-V \<check|trace>] \[-U \<interval>]]] | \[-S \<JobId>] | \[-T \<JobId>] | \[-I \<JobId>]*

## **Arguments**

| *Argument* | *Name*          | *Format*                                                                                                            | *Description*                                                                                                                                  |
| ---------- | --------------- | ------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| -H         | Server Uri      | [https://serverUri:port](https://documentation.astera.com/astera-data-stack-v8/miscellaneous/https:/serverUri:port) | Server to use for the command. Localhost on port 9260 is used if not provided.                                                                 |
| -L         | Login           | username::password                                                                                                  | Log in to the server. Use the separator '::' to enter both username and password.                                                              |
| -R         | Run             | File Path                                                                                                           | Run the specified dataflow or workflow file.                                                                                                   |
| -I         | Info            | JobId                                                                                                               | Retrieve more detailed info about the specified jobId.                                                                                         |
| -S         | Status          | JobId                                                                                                               | Retrieve status of the specified job.                                                                                                          |
| -T         | Terminate       | JobId                                                                                                               | Terminate the specified job if running or queued.                                                                                              |
| -A         | Asynchronous    | N/A                                                                                                                 | Applies to run only. Will run asynchronously and return right away with the job id.                                                            |
| -V         | Verbosity Level | Check or Trace                                                                                                      | Applies to run only. If the 'check' option is used, will periodically output the status on screen. The 'trace' option will display trace info. |
| -U         | Update Interval | Interval number                                                                                                     | Applies to run only. Sets the polling interval (in milliseconds) to get status or info updates. Default is 2000 (or 2 seconds).                |
| -P         | Job Parameters  | \[objectName].\[ParameterName]=\[ParameterValue]                                                                    | Parameter for dataflow or workflow objects. Use ‘;’ to enter multiple parameters.                                                              |

## **Sample Use-Case**

In this article, we will demonstrate how you can submit a dataflow to run on the *server* that is listening on a specific *port*. We will also dynamically change the file path found inside the action objects i.e., our source object and destination object, at runtime. In this example, we will use an [*Excel Workbook Source* ](https://documentation.astera.com/v/astera-data-stack-v8/dataflows/sources/excel-workbook-source)object and a [*Delimited Destination* ](https://documentation.astera.com/v/astera-data-stack-v8/dataflows/destinations/delimited-file-destination)object.

Finally, we will monitor our job using the *verbosity* argument with *trace* option while adding *update* *interval* every 3 seconds.

In the following section, let’s see how you can achieve this.

## **Essential Steps**

### **Parameterization**

Parameterization allows the source and destination files to be replaced at runtime. This is an essential step.

1. Parameterize the file path of the action objects used in the dataflow.

![](https://750977703-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqHxyVNGb7tSdIWecl6Ru%2Fuploads%2FgrJ1RWrmoDLC1QjMZDY6%2F0.png?alt=media)

We have used a *Variables* object in our dataflow to parameterize the file path of the source and destination objects. The *source\_file* variable will receive the source file path, while the *dest\_file* field will receive the destination file path.

Now, go to the Config Parameters window of both the action objects and provide the relevant variable as *Value* to the *FilePath* (source object) and *DestinationFile* (destination object) parameters.

![](https://750977703-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqHxyVNGb7tSdIWecl6Ru%2Fuploads%2FKTe4fVhNmAi5K4H6dIX0%2F1.png?alt=media)

Now, let’s go over how to use the Command Line Interface.

### **Command Line Interface**

1. Navigate to the folder location of the *Astera Integration Server* and copy the path. Go to the command line interface, run as administrator, and change the directory to the folder location of *Astera Integration Server*.

![](https://750977703-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqHxyVNGb7tSdIWecl6Ru%2Fuploads%2FvDJKLfnNy0mpPef25M0O%2F2.png?alt=media)

2. Write the command to run the dataflow.

![](https://750977703-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqHxyVNGb7tSdIWecl6Ru%2Fuploads%2Fq8GLMYjkp9txGJelgTVq%2F3.png?alt=media)

On the Command Line Interface, you can see that the login was successful, and the job was executed. You can also verify this through the Astera client application by going to *Server > Job Monitor.*

![](https://750977703-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqHxyVNGb7tSdIWecl6Ru%2Fuploads%2Fhpet9FqA60hPAXYBAisD%2F4.png?alt=media)

The job has successfully been executed.

## **Command Components**

### **Server Uri**

Specifying the server and the port it should listen to requires the use of the -H argument. The format is: *[https://serverUri:port](https://documentation.astera.com/astera-data-stack-v8/miscellaneous/https:/serverUri:port)*

* *serverUri* is the name or the IP address of the server. For example, we have used our machine name, *ASTLAP035*.
* *port* is the communication endpoint. You have to specify the port number. For example, we have used the port number *9260*. If no port number is assigned, 9260 is used by default.

### **Login**

You have to provide your login credentials to access the Astera Integration Server. The format is: *username::password*

### **Running a Job**

Running a job requires use of the -R argument. When this is done, the path of the file is read, parsed, and the contents are sent to the server. Keep in mind that the server may be on a separate machine and file paths need to be accessible from that server.

If the -A argument is used, only the ID of the job that was created is returned and displayed on screen. If the -A is not used, centerprisecl will not return until the job has finished. If the check verbosity flag is used, a status will be displayed periodically, along with a timestamp. This timestamp is the time of the status request. If the “trace” verbosity argument is used, centerprisecl will periodically poll the server and get the latest trace information.

### **Monitoring a Job**

Monitoring a job is usually done when the -A argument is used to submit it. For example, you can submit a job, get the job ID back, and later use the -I or -S flags to check on it.

### **General Flow Parameters**

Centerprisecl can change any parameter available in a flow using the -P argument. The -P argument can take multiple parameter value pairs separated by a semicolon. The format is: *objectName.parameter1=value1;objectName.parameter2=value2*

* *objectName* is the name of the object you wish to modify. For example, in the dataflow shown above, there is a *Variables* object named Variables. Thus, objectName would be “Variables”.
* *parameter* is the field that is defined inside the object. For example, in the dataflow shown above, the *Variables* object has two fields, *source\_file* and *dest\_file*. Thus, the parameter can be either “source\_file” or “dest\_file”.
* *value* is the entry for the parameter.

This concludes our discussion on the use of *Server Command Line Utility* in Astera.
