This article describes the PHP by inserting MySQL data to achieve the multi-machine interlock method, share for everyone to reference. The implementation methods are as follows:
You can add a general lock before executing the process, the shell yoke function is as follows, and if it succeeds, it returns 0, otherwise it returns a value other than 0:
Copy Code code as follows:
function Get_lock ()
{
Local dataid= "${1}"
Local datadate= "${2}"
Local sql= Insert Intot_trans_lock
(Dataid, Datadate) VALUES (' ${dataid} ', ' ${datadate} '); "
Echo ${sql} | ${db_public}
Return $?
}
Release the lock when execution fails or ends
Copy Code code as follows:
function Free_lock ()
{
Local dataid= "${1}"
Local datadate= "${2}"
Local status= "${3}"
Local sql= ' Delete from T_trans_lock
where dataid= ' ${dataid} ' and datadate= ' ${datadate} ';
Echo ${sql} | ${db_public}
If [$?-ne 0]; Then
Write_log ${dataid} "free lock failed"
Fi
Return ${status}
}
I hope this article will help you with the Php+mysql program design.