LogoLogo
Buy SoftwareBuy HardwareOpen a ticket
Rekor Scout®
Rekor Scout®
  • 🌟Getting Started
    • Overview
    • Additional ALPR and Vehicle Recognition Products
    • Countries and Regions Supported
    • Vehicle Characteristics Supported
    • Create an Account
    • Subscriptions and Licensing
  • 🧠Agent
    • System Requirements
    • Benchmarking
    • Installation
    • License Registration
    • Set Data Destination
    • Connect to Cameras
    • Configuration
      • Agent Properties
      • Camera Streams
      • NVIDIA GPU Acceleration
      • Restarting the Agent
  • 📹Camera Configuration
    • Camera Placement Guide
    • Lighting
    • Camera Positioning
    • Pixels on Target
    • Camera Image Settings
  • 🕸️Web Server
    • Overview
    • Cloud
    • Self-Hosted
    • Configuring Agents
    • REST API
  • 🖥️Dashboard
    • Overview
    • Account Settings
    • Quick Search
    • Quick View Panels
    • Latest Reads (“Most Recent Plate Groups”)
    • Alerts List
    • Top Sites of the Week
    • Dispatch Map
    • Video Review
    • Statistics
    • Analytic Reports
    • Advanced Search
    • Rekor CarCheck®
    • Search Audit
    • Guides and Support
    • Billing and Subscriptions
      • Change Your Plan
      • Update Billing Address
      • Update Payment Method
      • Review Billing History
      • Cancel Your Subscription
    • Configuration
      • Alerts
      • Agents
      • Licensed Agents
      • WebHooks
      • User Management
      • Integrations
  • 🔗Application Integration
    • Overview
    • Integrating with the Agent
    • Receiving HTTP POSTs
    • Pulling from the Queue
    • JSON Plate Results
    • JSON Group Results
    • JSON Heartbeat
    • Local Image Retrieval
Powered by GitBook
LogoLogo

Platforms

  • Rekor Discover® for Urban Mobility
  • Rekor Command® for Transportation
  • Rekor Scout® for Public Safety

Systems

  • Rekor Edge Flex™ (Classificaiton)
  • Rekor Edge Max™ (Classification)
  • Rekor Edge Pro (ALPR)
  • Rekor Edge Max™ (ALPR)

Developers

  • Vehicle Recognition SDK
  • Rekor CarCheck®
  • Rekor AutoNotice™

Resources

  • About Us
  • Customer Stories
  • Newsroom
  • Help Center

© 2025 Rekor Systems, Inc. All Rights Reserved.

On this page

Was this helpful?

  1. Application Integration

Pulling from the Queue

PreviousReceiving HTTP POSTsNextJSON Plate Results

Last updated 1 year ago

Was this helpful?

Rekor maintains a local Beanstalkd queue. All JSON results are placed in this queue. Your application can grab and process the latest plate results from this queue.

Beanstalkd maintains client libraries in many popular programming languages. For a complete list, visit:

To configure Rekor Scout® to make the results available via the local queue, set the following parameters in /etc/openalpr/alprd.conf:

upload_data = 0
websockets_enabled = 0
web_server_enabled = 1
use_beanstalkd = 1

In addition, you must add a valid on-premise license to /etc/openalpr/license.conf

Once updated, restart the Scout Agent service to allow the settings to take effect.

Below is a sample Python script that pulls results from the local Beanstalkd queue:

#!/usr/bin/python

import beanstalkc
import json
from pprint import pprint

beanstalk = beanstalkc.Connection(host='localhost', port=11300)

TUBE_NAME='alprd'

# For diagnostics, print out a list of all the tubes available in Beanstalk.
print beanstalk.tubes()

# For diagnostics, print the number of items on the current alprd queue.
try:
    pprint(beanstalk.stats_tube(TUBE_NAME))
except beanstalkc.CommandFailed:
    print "Tube doesn't exist"

# Watch the "alprd" tube; this is where the plate data is.
beanstalk.watch(TUBE_NAME)

# Loop forever
while True:

    # Wait for a second to get a job. If there is a job, process it and delete it from the queue.
    # If not, return to sleep.
    job = beanstalk.reserve(timeout=1.0)

    if job is None:
        print "No plates available right now, waiting..."

    else:
        print "Found a plate!"
        plates_info = json.loads(job.body)

        # Print all the info about this plate to the console.
        pprint(plates_info)

        # Do something with this data (e.g., match a list, open a gate, etc.).
        if 'data_type' not in plates_info:
            print "This shouldn't be here... all OpenALPR data should have a data_type"
        elif plates_info['data_type'] == 'alpr_results':
            print "This is a plate result"
        elif plates_info['data_type'] == 'alpr_group':
            print "This is a group result"
        elif plates_info['data_type'] == 'heartbeat':
            print "This is a heartbeat"

        # Delete the job from the queue when it is processed.
        job.delete()
🔗
https://github.com/kr/beanstalkd/wiki/Client-Libraries