2013-04-04 85 views
1

我正在使用Codeigniter的PyroCMS模塊。在這個模塊中,用戶在前端提交某種訂單,並且該網站的主持人將被通知並檢查後端的訂單,然後他更新該行並向用戶通知有關更改。現在都完成了。codeigniter觸發器後臺進程

我打算讓事情有點自動化。提供文檔文件等電子商品的訂單的過程是搜索其他服務器(ftp)的訂單並將其發送到主服務器。

所以,我建議這個工作流程:

  • 插入該行的表(前端)
  • 初始化機器人搜索FTP服務器,並設置一個標誌,該 機器人正在處理訂購。
  • 如果找到:將文件傳輸到服務器並更新行和 標誌。
  • 如果未找到,請更新標誌並讓經理完成 工作的其餘部分。

現在,我認爲把機器人代碼放入同一個控制器並用來自用戶的http請求激發機器人任務並不是一個好主意。我的意思是,表單已提交,我只想插入行並結束進程並通知用戶它已提交,然後機器人任務應在後臺完成。

現在我們可以更新,如工作流程:

  • 插入新行
  • 通知在提交訂單用戶。讓用戶去。
  • 運行後臺進程(觸發它)來搜索ftp服務器,並在成功時更新該行或在錯誤時不做任何事情。

我該怎麼做這種類型的後臺進程?任何想法或經驗?

+0

您可以安排一個每x分鐘運行一次的cronjob,檢查是否有任何要做的事情,然後執行,否則就會退出。 – ahmad 2013-04-04 21:59:52

回答

0

你可以把你的機器人代碼放到其他php文件中,然後在成功提交表單後使用php的系統或exec命令運行該php文件。這將運行像新的PHP線程。 希望這有助於。