運行Fedora,PHP/Gearman/MySQL/Drizzle。Test Gearman/MySQL - 持久層
從源頭構建Gearman/Drizzle,並且在linux/fedora盒子上運行該進程。我創建了mysql測試表,並且可以看到Gearman Daemon實例可以訪問/接口mysql服務。我使用TCP在同一個盒子上運行Gearman和mysql進程。
當Gearman啓動並指向MySQL帳戶時,我可以看到顯示爲Gearman進程運行時顯示的DEBUG信息中的初始選擇語句。
但是,我不確定我需要做什麼才能真正測試客戶端的作業存儲在mysql表中。
我創建了一個複製Gearman Client/Worker「Review」測試的測試客戶端,該測試通常在工作人員正在運行時工作,並在沒有工作人員的情況下運行客戶端。我在DEBUG過程中看到客戶端連接到Gearman守護進程,但是當我檢查mysql表時,表中沒有任何內容。
所以我的問題真的歸結爲確定我需要做的事實際上能夠看到/確保作業/數據真正寫入到實際的mysql表中。
是否有一個給定的標誌,方法來調用某處,以確定數據是否存儲在mysql表中,如果沒有被worker處理?不應該將作業存儲在表格中,然後在處理完成後將其移除?或者我錯過了流程中的某些東西?
我不知道流是怎麼工作的,但我會建議提交作業(不含工人),然後檢查通過gearmand管理協議的作業隊列。如果它在隊列中,它也應該在表中。 – Aurimas