我正在尝试创建一个应用程序,并为应用程序用户拥有的所有朋友执行操作。问题是我没有找到一个平台,我可以开发这样的应用程序。 起初我尝试使用PHP,我使用了heroku和我的代码工作,但因为我有很多朋友,循环超过30秒,请求超时,操作在操作中间停止。 我不介意使用任何我想让它工作的平台! Python,C ++,PHP。他们都对我好。 提前谢谢。
答案 0 :(得分:1)
让我们开始,您可以更改超时设置,具体取决于设置限制的位置,可以在PHP上解释set_time_limit function documentation:
设置允许脚本运行的秒数。如果是这样的话 到达后,脚本返回致命错误。默认限制为30 秒,或者,如果存在,则定义的max_execution_time值 php.ini中。
但它也可以在服务器上设置 另一个问题是路由上的路由器也有自己的超时限制,所以从我的经验来看,最多只需60秒。
至于你想做什么,问题不在于你使用的是哪种语言/技术,而是你向facebook发出了大量的http请求需要花费一些时间,我相信这是你的瓶颈,如果是这种情况那么你可以通过选择除php以外的其他东西来改进(尽管你可以使用NIO来改善IO性能)。
据说,php并不总是最好的解决方案,取决于手头的任务
Java或任何其他编译语言应该比脚本语言(php,python)表现得更好,如果你使用C ++,你将会全神贯注,但是你会觉得用C ++编写应用程序是否合适?
选择您感觉最“在家”的语言/技术,如果您有选择可供选择,那么请从您的应用中找出您需要的内容,然后研究哪种内容可以更好地满足您的需求。
上次我检查的最大朋友人数限制为5000人
如果你需要为每个用户朋友运行一个图形请求,那么无论多长时间都没有让用户等待太长时间,你就无法做到这一点。
我看到你有两个选择:
使客户端异步,您可以使用Web套接字,彗星,甚至每隔x秒发出一次ajax请求来获取计算数据。
这样您就不必担心超时,用户可以快速开始获取内容。
使用javascript api发出图形请求,这样就可以完全避免超时,还可以减少服务器中的大量网络连接。
如果您需要服务器进行计算,则可能无法使用此选项,例如,您依赖于数据库中的数据。
至于“没有Facebook SDK for C ++”问题,虽然我认为它甚至不相关,但这不是问题。
所有facebook SDK都只是https请求的包装器,所以实现自己的SDK并不是那么难,虽然我讨厌用C ++来做这件事,但是我又讨厌用C ++做任何事情。