Python内存溢出优化
在一个项目中,我们使用python处理文本的智能分类,因为文本分类这样的工作,tensorflow, pytorch这些人工智能框架处理起来更为顺手,这些框架用python调用最为方便。我们的内容存放在Drupal里面,这就需要Drupal和python之间交互。
我简单使用了python下面的flask框架,封装了一个接口给Drupal调用,这样Drupal将文章的正文传递给python,python调用底层的框架,计算出来分类结果,返回给Drupal。
在一个项目中,我们使用python处理文本的智能分类,因为文本分类这样的工作,tensorflow, pytorch这些人工智能框架处理起来更为顺手,这些框架用python调用最为方便。我们的内容存放在Drupal里面,这就需要Drupal和python之间交互。
我简单使用了python下面的flask框架,封装了一个接口给Drupal调用,这样Drupal将文章的正文传递给python,python调用底层的框架,计算出来分类结果,返回给Drupal。
1, 先用一段代码测试一下:
$conn = oci_connect('username', 'password', 'dbname');
if($conn) {
//echo"连接oracle成功!";
drupal_set_message('连接oracle成功!');
}else{
// echo"连接oracle失败!";exit;
drupal_set_message('连接oracle失败!');
}
报错:
我们有一个客户,想在节日期间关闭网站的数据库,还想让网站能够访问。这个需求在国内很常见。我们初步选定了Tome模块。
Tome模块是Drupal站点生成静态站的利器,只需要Drupal就能生成静态站点,生成的效果和动态站点几乎一样,对于views,多媒体的支持也很友好。将站点静态化,可以极大的提高站点的性能和安全性。Tome的原理和早先的Boost模块一样,就是发起http请求,将动态生成的页面保存到指定的本地文件目录里面。
当我们使用Drupal构建一个大型项目的时候,我们常常会和各种业务系统打交道,而有的业务系统数据库用的是oracle,我们需要建立与oracle的连接,从里面查询我们需要的数据。
我们假定你已经配置好了,oracle的相关库。
windows下面参考:
Drupal 与Oracle集成时,oracle相关配置文档, http://www.thinkindrupal.com/node/6009
linux下面也需要安装oracle的客户端,然后安装PHP的oracle扩展,这个过程有点费事,网上有很多教程。
我们假定你已经完成了这些配置。我们封装的连接oracle的函数我们封装的连接oracle的函数,
项目: drupal核心
有时候正式站点上线了以后,想要切换一下指定用户,查看一下效果,如果创建一个测试帐号,录入测试数据,在正式站点也不方便。对于Drupal用户来说,此时有一个方便的模块可以帮您实现这样的功能,这就是masquerade模块,它允许具有权限的用户,直接切换到给定用户,以给定用户浏览相关功能。除了这个模块以外,Drupal8,9下面还有userswitch模块提供了同样的功能。我们这里介绍masquerade模块。
[ˌmæskəˈreɪd]
n.伪装;化装舞会;假面舞会
v.冒充
Drupal核心使用的是JS框架默认是Jquery,曾经这个框架,方便了很多开发者,随着JS社区的演化,还有浏览器的不断升级,这个框架正在慢慢的退出历史舞台。
Drupal社区将会在Drupal10正式移除对jquery的依赖,而与之关联的,其它框架,也会被替换掉,这里就包含了BackboneJS。
目前Drupal核心多出用到backbonejs:
contextual links
ckeditor toolbar configuration
tour
toolbar
quickedit