Cloudflare Queues endpoint implementation #773
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This adds an endpoint implementation for Cloudflare Queues. it uses the Cloudflare go SDK to push messages to a queue when geofences are hit via the
HOOK
andSET
commands.Cloudflare setup
Create a queue
With wrangler installed, use:
wrangler queues create test-queue
Then, get the queue id:
wrangler queues info test-queue
This will output something like this:
Get your Account ID
See the docs on how to find your Cloudflare account id.
Create an API Token
You need to create an API Token that has one of the
Queues Write
orWorkers Scripts Write
permissions.Usage
Setup hook
SETHOOK warehouse cf-queue://<account_id>/<queue_id>?token=<api_token> NEARBY fleet FENCE POINT 33.5123 -112.2693 500
Set position within the geofence
SET fleet truck1 POINT 33.5123 -112.2693
Set position outside the geofence
SET fleet truck1 POINT 33.5123 -115.2693
Resulting messages in the queue