Working with DB2 and PHP, my ADDs and DROPs take a long time to finish (30 seconds per ADD and DROP). I am curious if there is a way to send my ADDs and DROPs to the database without having PHP wait for a response?
问题:
回答1:
I'm fairly certain that most php db controls don't have async methods (too bad). Presuming that you just need to do DB statements that don't interact with the end user you could use pcntl_fork
. If you need something else, a solution like this may be more useful.
回答2:
A simple solution is cron to schedule your tasks
http://articles.sitepoint.com/article/introducing-cron
Schedule all the sql scripts you want to run at a predetermined time.
回答3:
You could code up a "standalone" php script and fire it off using a "system" call.
You only problem would how to pass the data to the script. I would recommend you create an intermediate "actions" table where you can instert the desired updates and have the batch script read the actions and apply the updates.
If you have DB2 installed you may have MQ installed as well. If you do, you can look at a solution where you push your update requests into an MQ queue and have them actioned by a triggered program.