我有一个Git媒体存储库,我将保存我将在各种项目中使用的所有JavaScript和CSS主文件和脚本.
如果我创建一个位于其自己的Git存储库中的新项目,我如何在我的新项目中使用来自我的媒体存储库的JavaScript文件,从而使我在进行更改时不必更新脚本的两个副本?
我有一个问题,有些网站需要很长时间才能加载("长时间"我的意思是长达16秒).有时它们可能会完全超时,从而产生Nginx 504错误.通常,当网站超时时,我可以重新加载该网站,它会很快加载.我遇到问题的网站获得的流量非常低.我正在通过加载Django管理员索引页面来测试该站点,以便尝试消除因代码不佳而导致的任何缓慢.还应注意,此特定站点仅使用Django管理员,因为它只是员工的Intranet类型站点.
我托管的所有网站都在两个Rackspace云服务器上.第一台服务器是我的应用服务器,有1024 MB的RAM,我的第二台服务器是我的数据库服务器,有2048 MB的RAM.应用服务器使用Nginx为每个站点提供服务,Nginx为每个站点的Django Gunicorn工作者提供所有静态文件和代理服务.
在查看数据库服务器RAM和CPU负载时,似乎数据库服务器上的一切正常.
$ free -m
total used free shared buffers cached
Mem: 1999 1597 402 0 200 1007
-/+ buffers/cache: 389 1610
Swap: 4094 0 4094
Top shows a CPU load average of: 0.00, 0.01, 0.05
Run Code Online (Sandbox Code Playgroud)
为了尝试解决发生的事情,我写了一个快速的小脚本,打印出应用服务器上的内存使用情况.
示例打印出来的网站域名是匿名的:
Celery: 23 MB
Gunicorn: 566 MB
Nginx: 8 MB
Redis: 684 KB
Other: 73 MB
total used free shared buffers cached
Mem: 993 906 87 0 19 62
-/+ buffers/cache: 824 169
Swap: …Run Code Online (Sandbox Code Playgroud) 我正在寻找一种方法,可以在一个事件中向某人出售一张卡片,该卡片将具有一个独特的代码,以后他们可以使用这些代码只下载一个文件(mp3,pdf等),并掩盖真实情况文件位置,以便下载该文件的精明人员将无法多次下载该文件.在Amazon S3上托管文件以节省我们的服务器位于同一地点的带宽会很好.
我对代码的想法是预先生成将在卡上打印的唯一代码,并将这些代码存储在数据库中,该数据库也可以具有存储文件下载次数的字段.这样我们就可以设置允许用户下载文件的次数.
我需要指导的部分是如何隐藏/屏蔽原始文件位置,以便人们无法窃取该网址,然后根据需要多次下载文件.我已经完成了谷歌搜索,我要么不使用正确的关键字进行搜索,要么已经没有很多库或片段用于此类事情.
我猜我可能能够使用django.views.static.serve它作为实际文件和下载文件的用户之间的一种代理.我认为这种方法的唯一缺点是我需要使用实际的Web服务器,并且无法将该文件存储在Amazon S3上.
任何建议或想法都非常感谢.
这是我创建的一个测试,用于重新创建我在使用tempfile.NamedTemporaryFile()时遇到的问题.问题是当我使用tempfile时,我的CSV中的数据会从文件的末尾被截断.
运行此测试脚本时,temp2.csv将被截断,temp1.csv将与原始CSV的大小相同.
我正在使用Python 2.7.1.
您可以从http://explore.data.gov/Energy-and-Utilities/Residential-Energy-Consumption-Survey-RECS-Files-A/eypy-jxs2下载示例CSV.
#!/usr/bin/env python
import tempfile
import shutil
def main():
f = open('RECS05alldata.csv')
data = f.read()
f.close()
f = open('temp1.csv', 'w+b')
f.write(data)
f.close()
temp = tempfile.NamedTemporaryFile()
temp.write(data)
shutil.copy(temp.name, 'temp2.csv')
temp.close()
if __name__ == '__main__':
main()
Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个验证脚本,该脚本将针对NITF DTD验证XML,http: //www.iptc.org/std/NITF/3.4/specification/dtd/nitf-3-4.dtd .基于这篇文章,我提出了以下简单的脚本来验证NITF XML文档.Bellow是我在运行脚本时得到的错误消息,它不是很具描述性并且很难调试.任何帮助表示赞赏.
#!/usr/bin/env python
def main():
from lxml import etree, objectify
from StringIO import StringIO
f = open('nitf_test.xml')
xml_doc = f.read()
f.close()
f = open('nitf-3-4.dtd')
dtd_doc = f.read()
f.close()
dtd = etree.DTD(StringIO(dtd_doc))
tree = objectify.parse(StringIO(xml_doc))
dtd.validate(tree)
if __name__ == '__main__':
main()
Run Code Online (Sandbox Code Playgroud)
回溯错误消息:
Traceback (most recent call last):
File "./test_nitf_doc.py", line 23, in <module>
main()
File "./test_nitf_doc.py", line 16, in main
dtd = etree.DTD(StringIO(dtd_doc))
File "dtd.pxi", line 43, in lxml.etree.DTD.__init__ (src/lxml/lxml.etree.c:126056)
File "dtd.pxi", line 117, …Run Code Online (Sandbox Code Playgroud) 升级后,我在运行 a 时收到如下消息terraform plan:
Error: Invalid resource instance data in state
on iam_server_backup.tf line 4:
4: resource "aws_iam_access_key" "backup" {
Instance aws_iam_access_key.backup data could not be decoded from
the state: unsupported attribute "ses_smtp_password".
Run Code Online (Sandbox Code Playgroud)
我修复它的方法是删除状态 ( terraform state rm aws_iam_access_key.backup)。但是,这在我运行时创建了新的访问密钥terraform apply,这很耗时,因为我必须更改所有应用程序中的所有访问密钥。有没有更好的方法来解决这个问题?