Skip to main content
Archived

System Event if the queue is very long

Related products:FME Flow

wicki
Contributor
  • Contributor

It would be nice if Safe Software add another System Event to the FME server:


In detail, I would like to have a system event that sends a notification as soon as the queue is getting quite full / long. 


In addition, it would be helpful to have an event that sends notifications if, for example, a workspace is running for longer than a defined time.

The admin could act quickly if the engines are temporarily blocked for too long.


Alternatively, this could also be implemented via Automation. To do this, however, you would need a trigger for the queue.

3 replies

rylanatsafe
Safer
Forum|alt.badge.img+13
  • Safer
  • January 15, 2021

Thank you for contributing this idea to the FME Community, @wicki!

While we do not have the ability to trigger notification via System Events for these scenarios, the /metrics REST API endpoint does return information on FME Server Queues. Specifically, you can see which Queues have the most jobs waiting to process and which Queues have had jobs waiting for the longest to process.

We have had some customers use this endpoint with an external service like Prometheus to monitor and provide real-time notifications.

 

An example of the response from the /metrics endpoint:

# HELP fme_completed_jobs_total The total number of jobs that are completed

# TYPE fme_completed_jobs_total counter

fme_completed_jobs_total 33

# HELP fme_running_jobs_total The total number of jobs that are running

# TYPE fme_running_jobs_total gauge

fme_running_jobs_total 0

# HELP fme_running_jobs The number of jobs that are running

# TYPE fme_running_jobs gauge

fme_running_jobs {queue="myQueue"} 0

fme_running_jobs {queue="Default"} 0

# HELP fme_queued_jobs_total The total number of jobs that are queued

# TYPE fme_queued_jobs_total gauge

fme_queued_jobs_total 2

# HELP fme_queued_jobs The number of jobs that are queued

# TYPE fme_queued_jobs gauge

fme_queued_jobs {queue="myQueue"} 2

fme_queued_jobs {queue="Default"} 0

# HELP fme_queued_jobs_time The time in seconds of the queued job that has been waiting the longest

# TYPE fme_queued_jobs_time gauge

fme_queued_jobs_time {queue="myQueue"} 197.587

fme_queued_jobs_time {queue="Default"} 0

# HELP fme_queued_jobs_totaltime The time in seconds for all queued jobs to finish based on historical data

# TYPE fme_queued_jobs_totaltime gauge

fme_queued_jobs_totaltime {queue="myQueue"} 0

fme_queued_jobs_totaltime {queue="Default"} 0

# HELP fme_queued_jobs_totalcpu The CPU in seconds for all queued jobs to finish based on historical data

# TYPE fme_queued_jobs_totalcpu gauge

fme_queued_jobs_totalcpu {queue="myQueue"} 0

fme_queued_jobs_totalcpu {queue="Default"} 0

 

Please note that fme_queued_jobs_time, fme_queued_jobs_totaltime, fme_queued_jobs_totalcpu are only available for FME Server 2021 and newer. 


LizAtSafe
Safer
Forum|alt.badge.img+15
  • Safer
  • April 5, 2025
OpenArchived

LizAtSafe
Safer
Forum|alt.badge.img+15
  • Safer
  • April 5, 2025
This idea is not on the development radar as a workaround has been provided above.

Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings