這裏是我想要做的: 我想用一個doSomething()函數在Web服務器上運行一個類似於可執行文件的應用程序。在Web應用程序啓動時,doSomething()函數通過Web套接字作爲客戶端連接到另一個MQTT服務器,在那裏訂閱並將傳入消息存儲到數據庫。我不關心doSomethihg()函數的內容。我可以做這個。我只對在Web服務器上製作一個deamon應用感興趣。 此應用程序將運行在glassfish(java)或apache(php)中。 我將在openshift中部署此應用程序o另一個類似的PAAS,所以它必須是一個Web應用程序,不是一個獨立的應用程序。另外,我想我沒有執行shell腳本的能力。 我只找到一種方法來做到這一點與java;創建一個servlet並將其配置爲在應用程序啓動時運行(在web.xml文件中使用load-on-startup)。我不知道這是否是最有效的,我沒有找到任何的PHP。 在此先感謝!如何在網絡應用程序啓動時在openshift中加載函數
-4
A
回答
0
PHP本身並沒有'應用程序啓動',但它聽起來像你可能想a cron job。您可以創建一個cron作業,以便每隔幾分鐘運行一次,並且它將在沒有任何用戶交互的情況下啓動其功能。在cron作業中設置條件標誌可以確保代碼只運行一次。
或者,您可以在訪客加載特定頁面時執行函數。該功能可以設置標誌(作爲$_SESSION
變量)來檢查功能是否已經運行:
<?php
session_start();
if(!isset($_SESSION['done'])) {
doSomething();
}
function doSomething() {
// Do something
$_SESSION['done'] = 'yes';
}
?>
這樣,你可以得到,如果需要的是每個訪客觸發一次的功能。
希望這會有所幫助! :)
+0
謝謝!低調的方式引人入勝。我會檢查這是否由openShift支持並試一試。任何想法的Java/glassfish? – Vassis
相關問題
- 1. 如何在啓動Chrome應用程序時加載數據?
- 2. 春季啓動應用程序不會在openshift中啓動
- 3. 如何在應用程序啓動時預加載Prism視圖?
- 4. 如何確保在應用程序啓動時加載java類?
- 5. 如何在應用程序啓動時預加載XAML?
- 6. 如何在啓動應用程序時加載所有資源?
- 7. 在應用程序啓動時檢查網絡 - cordova 5.1.1
- 8. 從網絡啓動Android應用程序
- 9. 在Metro風格應用程序啓動時加載數據
- 10. 等待數據在應用程序啓動時加載
- 11. 如何在網絡連接可用時啓動我的應用程序?
- 12. 如何在應用程序啓動時
- 13. 加載器中的java.lang.ClassNotFoundException dalvik.system.PathClassLoader在應用程序啓動時
- 14. 在應用程序啓動時在後臺加載UIViews
- 15. 在登錄之前在Windows啓動時加載應用程序
- 16. 如何防止人們訪問OpenShift網絡應用程序?
- 17. 如何在應用程序啓動時將數據加載到Spring Ehcache
- 18. PHP在啓動時加載函數
- 19. 在應用程序處於後臺時下載網絡數據
- 20. 啓動應用程序在啓動時
- 21. 在啓動時啓動應用程序
- 22. 在啓動時啓動應用程序
- 23. 如何在應用程序啓動時在mac應用程序中加載注入庫?
- 24. 啓動使用其網址的應用程序上OpenShift產地
- 25. 在應用程序啓動時啓動應用程序類
- 26. 在iPhone啓動(啓動)或關機後加載應用程序
- 27. 如何在打開應用程序時啓動網頁
- 28. 如何在應用程序未啓動時讀取應用程序啓動時的aps有效載荷
- 29. 如何從網絡/雲端啓動應用程序
- 30. 當應用程序啓動時app.config未加載啓動
歡迎來到StackOverflow! **你的問題究竟是什麼**? PHP是否存在可以創建守護進程的服務?如果是這樣,一個簡單的谷歌搜索將顯示網站,如https://daemon.io/。如果不是,請更新您的問題,以便在[最小,完整和可驗證的示例](http://stackoverflow.com/help/mcve)中顯示所有相關代碼。另外請務必讓我們知道您迄今爲止已經嘗試解決您的問題。有關詳細信息,請參閱[幫助文章](http://stackoverflow.com/help/how-to-ask),瞭解如何提出良好問題。 –
我想要做的是在Web服務器,apache或glassfish上運行應用程序,而無需用戶交互。該應用程序將部署在openshift上。我沒有做任何事情來解決問題,因爲這不是問題。 – Vassis