HubSpot PHP Retry Middleware Sample App
September 4, 2023 ยท View on GitHub
Currently, this app focuses on demonstrating the retry middleware mechanism. It will be useful for you if you often reach rate limit (429 http error).
Please see the documentation on Creating an app in HubSpot
HubSpot Public API endpoints used in this application
Setup App
Make sure you have Docker Compose installed.
- The code in all folders except for console is to provide OAuth UI for the user.
- example.php creates batches of requests to Create/Delete Contacts API to cause exceeding of therate limit.
- PROCESS_COUNT (set in .env file) controls the number of processes launched by docker running example.php - usually it takes about 10 to reach ratee limit.
Configure
- Copy .env.template to
.env. - Specify authorization data in
.env:- Paste
HUBSPOT_CLIENT_IDandHUBSPOT_CLIENT_SECRETfor OAuth
- Paste
Running
The best way to run this project (with the least configuration), is using docker compose. Change to the webroot and start it
docker-compose up -d --build
You should now be able to navigate to http://localhost:8999. Firstly you will need to authorize via OAuth there. Than you can to go to the terminal window and start the following command in the application root
docker-compose exec web php /app/src/console/example.php
Please note this app starts a few workers in order to reach rate limit.
Pay attention on HubspotClientHelper. It generates a custom client with reties middlewares and pass this client to HubSpot Factory.