There is a php function that does some database and curl operations. I run this function with a url. Right now I'm doing this manually, but I'll tie it to crons in the future.
My problem is this. For example, I have a url like below.
domain.com/crons/update_account_data?token=xxx
When I enter to this url, the function I direct inside deletes data from the database and processes data from a different service.
I ran the url 3 times at the same time. It immediately deleted the data from the database on the first run. But the second run started after a certain time (for example, after 10 seconds), and the third start after a certain time (for example, after 20 seconds).
What is the reason of this? I want these 3 links that I run at the same time to start operations at the same time.
My Answer:
The delay you are experiencing when running the cron link multiple times simultaneously could be due to a few different reasons:
1. Database Locking: When the first request deletes data from the database, it may lock certain tables or rows, causing subsequent requests to wait until the lock is released before they can proceed.
2. Resource Limitations: Your server may have limitations on the number of concurrent connections or processes it can handle. Running multiple instances of the same script simultaneously may exceed these limits, causing delays in processing.
3. Curl Timeout: If your curl operations are taking longer than expected, it could be causing delays in processing subsequent requests.
To ensure that all instances of the cron link start operations at the same time, you may need to optimize your code to handle concurrent requests more efficiently. This could involve implementing database transactions, optimizing your curl operations, or adjusting server settings to handle more concurrent connections.
Rate this post
5 of 5 based on 2575 votesComments