OpenFME-Scheduler is an open-source application designed to manage and schedule the execution of FME scripts. It provides a user-friendly interface and robust backend to automate workflows using .fmw scripts.
- Node.js (version 16 or higher recommended)
- npm (comes with Node.js)
- FME Desktop installed and
fme.exeavailable in your system PATH
-
FME Script Management
- Upload and manage
.fmwscripts. - Select scripts from an existing list or upload new ones.
- Upload and manage
-
Task Scheduling
- Schedule scripts to run once, daily, weekly, or monthly.
- Uses
node-cronfor reliable task scheduling.
-
User Interface
- Web-based interface for managing scheduled jobs.
- View and manage logs directly from the browser.
-
Logging and Monitoring
- Logs all events and errors for easy debugging.
- Provides a log viewer in the web interface.
-
REST API
- Exposes endpoints for managing scripts, jobs, and logs.
Node.js is required to run this application. The installation process on Windows is simple and user-friendly:
- Go to the official Node.js website: https://nodejs.org/
- Download the recommended installer for Windows (LTS version).
- Run the installer and follow the steps in the setup wizard. For most users, the default options are fine.
- When finished, Node.js and npm (Node.js package manager) will be ready to use.
To verify the installation, open a terminal (PowerShell or CMD) and run:
node -v
npm -vYou should see the version numbers for Node.js and npm.
For more details, see the official guide: Node.js Windows Installation Guide
git clone https://github.com/MundoGIS/OpenFME-Scheduler.git
cd OpenFME-Schedulernpm installnode server.jshttp://localhost:3100
To install the application as a Windows service:
node service.jsTo uninstall the Windows service:
node uninstall.jsWhen installing the OpenFME-Scheduler as a Windows Service, it is important to configure the service to run under an appropriate user account. This ensures that the service has the necessary permissions to execute FME workspaces and access required resources.
-
Install the Service:
- Run the
service.jsscript to install the service:node service.js
- Run the
-
Set the Service to Use a Specific User Account:
- Open the Windows Services Manager (
services.msc). - Locate the
OpenFME-Schedulerservice. - Right-click the service and select Properties.
- Go to the Log On tab.
- Select This account and provide the credentials of a user account with administrative privileges.
- Open the Windows Services Manager (
-
Restart the Service:
- After setting the account, restart the service to apply the changes.
- On Windows Server, it is recommended to use a dedicated service account with the necessary permissions to:
- Execute
fme.exe. - Access the FME workspaces and any external resources (e.g., databases, files).
- Execute
- Ensure the service account has a strong password and follows your organization's security policies.
By following these steps, you can ensure that the OpenFME-Scheduler runs reliably in your environment.
Before installing the OpenFME-Scheduler, you must configure the .env file to ensure all paths and settings are correct for your environment.
-
Open the
.envFile:- Locate the
.envfile in the root of the project. - Open it in a text editor of your choice.
- Locate the
-
Update the Paths:
- Ensure the paths to
FME_EXECUTABLE_PATH,FME_SCRIPTS_PATH, andJOBS_FILE_PATHare correct for your system. For example:FME_EXECUTABLE_PATH=C:\Program Files\FME\fme.exe FME_SCRIPTS_PATH=C:\OpenFME-Scheduler\fme_scripts JOBS_FILE_PATH=C:\OpenFME-Scheduler\data\jobs.json
- Ensure the paths to
-
Save the File:
- After making the changes, save the file.
-
Proceed with Installation:
- Once the
.envfile is configured, you can proceed to install the service by running:node service.js
- Once the
By ensuring the .env file is properly configured, you can avoid issues related to incorrect paths or missing configurations.
-
Add a Job:
- Select or upload an FME script.
- Specify the schedule (date, time, and frequency).
-
View Scheduled Jobs:
- Check the list of all scheduled jobs.
- Remove or modify jobs as needed.
-
View Logs:
- Use the log viewer to monitor execution logs.
- Make sure
fme.exeis available in your system PATH or update the path inserver.js. - The application is designed for Windows environments.
This project is licensed under the Mozilla Public License, v. 2.0. See the LICENSE file for details.
Developed by MundoGIS for the OpenFME-Scheduler project. For inquiries, contact: abel.gonzalez@mundogis.se
