2013-06-21 14 views

回答

2

回答

詳細

/usr/local/sbin/gearmand -q mysql --mysql-user user1 --mysql-password pass1 --mysql-db gearmand

方案1

場景:

  • 啓用讀鎖的Gearman隊列表

結果:

  • 創建後臺任務的腳本處於暫停狀態。
  • 刪除READ鎖後,腳本將繼續併成功創建所有5000個作業。
  • 注:我剛測試了幾秒鐘的鎖。由於超時,腳本可能會崩潰。

場景#2

場景:

  • 停止整個MySQL服務器實例(與Gearman的隊列)

結果:

  • 威特如果沒有mysqld,作業就無法創建。
  • 3974個工作中的5000個已創建。
  • gearmand輸出:

    mysql_stmt_prepare failed: Can't connect to local MySQL server through socket X

  • PHP腳本輸出:

    PHP Warning: GearmanClient::doBackground(): gearman_client_run_tasks:QUEUE_ERROR:QUEUE_ERROR

不幸的是,我的測試場景中,gearmand如果MySQL持久層是不可停止的工作。

相關問題