这里是我想要做的: 我想用一个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