The Model
The main class created by the Python application in Xpress Insight is referred to as a model. This is because the instance entities created in an Xpress Insight Python application are only present at the scenario level, and are model not application entities.
How Xpress Insight executes the Python application
FICO ® Xpress Insight executes the model by sending it as a job to an Xpress Insight worker. For more on Xpress Insight workers, see Concepts and Components. Every job has an execution mode associated with it which was specified by the method used to execute the scenario. The standard LOAD and RUN execution modes are built in and additional modes can be defined by the model. When a model is run it can test for the execution mode set and perform different actions based on that.The execution service configuration defines where a job will execute. The job will be queued until such time as there is sufficient capacity on an available worker to execute the job.
The primary execution statuses of a job are:
- NO_JOB_STATUS—The scenario is not executing
- QUEUED—The job is waiting to be scheduled onto a worker
- EXECUTING—The job is being executed on a worker
- COMPLETED—The job finished cleanly. The model may have exited with an error in which case this is reflected in the summaryData.modelStatus property.
- FAILED—The system was unable to finish processing the job, for example, due to a software crash or out of memory issue.
For the full list of statuses see https://www.fico.com/fico-xpress-optimization/docs/latest/insight/javascript_api/insight.enums.html?scroll=.ScenarioExecutionStatus