Managing the Batch Server for Sage X3: Practical Guide

2 minute read time.

Introduction

The Batch Server is the backbone of automated processing in Sage X3, handling scheduled tasks, queries, and background jobs. With recent enhancements in Sage X3 2024R1 and higher, managing the Batch Server has become more flexible, allowing administrators to control, monitor, and automate server operations using RESTful web services and command-line tools.

Why Batch Server Management Matters

Traditionally, stopping and restarting the Batch Server was only possible from within the Sage X3 product interface. This limitation posed challenges during troubleshooting, maintenance, or when scheduling downtime for updates during off-peak hours. The recent Syracuse Server releases (12.20.x+) introduce new capabilities, including the ability to set the lifetime of the Batch Server’s administration session and to control the server externally via API calls.

Key Concepts and Tools

1. REST API Control

The Batch Server is now managed via the Syracuse platform, accessible through HTTP REST APIs. You can use tools like curl or Postman to interact with these endpoints for starting, stopping, and monitoring the server.

List Batch Servers: http://<server>:<port>/api1/syracuse/collaboration/syracuse/batchServers?representation=batchServer.$query

Start Batch Server: POST http://<server>:<port>/api1/syracuse/collaboration/syracuse/batchServers('<KEY>')/$service/start?representation=batchServer.$query

Stop Batch Server: POST http://<server>:<port>/api1/syracuse/collaboration/syracuse/batchServers('<KEY>')/$service/stop?representation=batchServer.$query

Stop All Tasks: POST http://<server>:<port>/api1/syracuse/collaboration/syracuse/batchServers('<KEY>')/$service/stopAll?representation=batchServer.$query

Check Status: http://<server>:<port>/api1/syracuse/collaboration/syracuse/batchServers('<KEY>')/$service/status

2. Automating Batch Server Maintenance

You can automate Batch Server operations using Windows command files (.cmd) and schedule them with Windows Task Scheduler. This is ideal for planned maintenance, such as restarting the server during quiet periods (e.g., midnight).

Tip: If you encounter SSL certificate errors, add --insecure to your curl command.

3. Monitoring Batch Server Activity

Batch Server status and query logs can be retrieved and prettified for easy review. Use Node.js scripts (like j.js) to format JSON output from API calls.

Sample Script to Check Status:

Real-World Example: Batch Server Lifecycle

Initial State: View the Batch Server’s status and logs in the X3 interface or via API.

Stop the Server: Use the API or scheduled script to stop all tasks.

Restart the Server: Trigger a start via API or scheduled script.

Monitor Queries: Review the last 20 tasks/queries using API and prettified output.

Useful Resources

Sage X3 Online Help: How to Control the Batch Server - https://online-help.sagex3.com/erp/12/en-us/Content/V7DEV/how-to_how-to-control-the-batch-server.html?Highlight=start%20batch%20server

Sage Knowledgebase: Batch Server Management - https://gb-kb.sage.com/portal/app/portlets/results/viewsolution.jsp?solutionid=225924750095511

Syracuse Server Release Announcements - https://communityhub.sage.com/gb/sage-x3/f/announcements/241696/alert-syracuse-server-12-20-13-sage-x3-2024-r1-and-syracuse-server-12-21-4-sage-x3-2024-r2-are-now-available-updated-04-02-2025

Final Thoughts

With Sage X3’s recent updates, Batch Server management is more powerful and flexible than ever. By leveraging REST APIs, command-line tools, and automation, administrators can ensure smooth operations, timely maintenance, and rapid troubleshooting.