我有django像这样运行WSGI:
<VirtualHost *:80>
WSGIScriptAlias / /home/ptarjan/django/django.wsgi
WSGIDaemonProcess ptarjan processes=2 threads=15 display-name=%{GROUP}
WSGIProcessGroup ptarjan
Alias /media /home/ptarjan/django/mysite/media/
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
但如果在python我做:
def handler(request) :
data = urllib2.urlopen("http://example.com/really/unresponsive/url").read()
Run Code Online (Sandbox Code Playgroud)
整个apache服务器挂起并且没有响应此回溯
#0 0x00007ffe3602a570 in __read_nocancel () from /lib/libpthread.so.0
#1 0x00007ffe36251d1c in apr_file_read () from /usr/lib/libapr-1.so.0
#2 0x00007ffe364778b5 in ?? () from /usr/lib/libaprutil-1.so.0
#3 0x0000000000440ec2 in ?? ()
#4 0x00000000004412ae in ap_scan_script_header_err_core ()
#5 0x00007ffe2a2fe512 in ?? () from /usr/lib/apache2/modules/mod_wsgi.so
#6 0x00007ffe2a2f9bdd in ?? () from /usr/lib/apache2/modules/mod_wsgi.so
#7 0x000000000043b623 in ap_run_handler ()
#8 0x000000000043eb4f in ap_invoke_handler () …Run Code Online (Sandbox Code Playgroud) 我从PIL的所有4种算法中得到了同样糟糕的调整大小
>>> data = utils.fetch("http://wavestock.com/images/beta-icon.gif")
>>> image = Image.open(StringIO.StringIO(data)); image.save("/home/ptarjan/www/tmp/metaward/original.png")
>>>
>>> image = Image.open(StringIO.StringIO(data)); image.resize((36,36), Image.ANTIALIAS).save("/home/ptarjan/www/tmp/metaward/antialias.png")
>>> image = Image.open(StringIO.StringIO(data)); image.resize((36,36), Image.BILINEAR).save("/home/ptarjan/www/tmp/metaward/bilinear.png")
>>> image = Image.open(StringIO.StringIO(data)); image.resize((36,36), Image.BICUBIC).save("/home/ptarjan/www/tmp/metaward/bicubic.png")
>>> image = Image.open(StringIO.StringIO(data)); image.resize((36,36), Image.NEAREST).save("/home/ptarjan/www/tmp/metaward/nearest.png")
>>>
>>> image = Image.open(StringIO.StringIO(data)); image.thumbnail((36,36), Image.ANTIALIAS); image.save("/home/ptarjan/www/tmp/metaward/antialias-thumb.png")
>>> image = Image.open(StringIO.StringIO(data)); image.thumbnail((36,36), Image.BILINEAR); image.save("/home/ptarjan/www/tmp/metaward/bilinear-thumb.png")
>>> image = Image.open(StringIO.StringIO(data)); image.thumbnail((36,36), Image.BICUBIC); image.save("/home/ptarjan/www/tmp/metaward/bicubic-thumb.png")
>>> image = Image.open(StringIO.StringIO(data)); image.thumbnail((36,36), Image.NEAREST); image.save("/home/ptarjan/www/tmp/metaward/nearest-thumb.png")
>>>
>>> image = Image.open(StringIO.StringIO(data)); image.convert("RGB").resize((36,36), Image.ANTIALIAS).save("/home/ptarjan/www/tmp/metaward/antialias-rgb.png")
>>> image = Image.open(StringIO.StringIO(data)); image.convert("RGB").resize((36,36), Image.BILINEAR).save("/home/ptarjan/www/tmp/metaward/bilinear-rgb.png")
>>> …Run Code Online (Sandbox Code Playgroud) 我正在做一些简单的HTTP身份验证,我得到了一个
java.lang.IllegalArgumentException: Illegal character(s) in message header value: Basic OGU0ZTc5ODBk(...trimmed from 76 chars...)
(...more password data...)
Run Code Online (Sandbox Code Playgroud)
我认为这是因为我有一个非常长的用户名和密码,编码器包含\n76个字符.有什么方法可以解决这个问题吗?该URL仅支持HTTP Basic Auth.
这是我的代码:
private class UserPassAuthenticator extends Authenticator {
String user;
String pass;
public UserPassAuthenticator(String user, String pass) {
this.user = user;
this.pass = pass;
}
// This method is called when a password-protected URL is accessed
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(user, pass.toCharArray());
}
}
private String fetch(StoreAccount account, String path) throws IOException {
Authenticator.setDefault(new UserPassAuthenticator(account.getCredentials().getLogin(), account.getCredentials().getPassword()));
URL url …Run Code Online (Sandbox Code Playgroud) 如果我有一个ajax调用提取(使用回调),然后在此期间运行其他一些代码.如何在前两个函数完成时调用第三个函数.我确定使用轮询(setTimeout然后检查一些变量)很容易,但我宁愿回调.
可能吗?
我有一些很长的大字符串,我想要查找它们.我不需要保存整个字符串.据我所知,set()实际存储的字符串占用了我很多的记忆.
这样的数据结构是否存在?
done = hash_only_set()
while len(queue) > 0 :
item = queue.pop()
if item not in done :
process(item)
done.add(item)
Run Code Online (Sandbox Code Playgroud)
(我的队列不断被其他线程填充,所以我无法在开始时扣除它).
假设我有大约1,000,000个用户.我想找出任何给定用户所处的位置,以及他周围的用户.用户可以随时获得新的成就,如果他能看到他的常规更新,那将是非常棒的.
老实说,我认为这样做的每一种方式在时间和/或记忆方面都会非常昂贵.想法?到目前为止,我最接近的想法是让用户离线并构建百分位桶,但这无法向用户显示他的确切位置.
一些代码,如果这可以帮助你django人:
class Alias(models.Model) :
awards = models.ManyToManyField('Award', through='Achiever')
@property
def points(self) :
p = cache.get('alias_points_' + str(self.id))
if p is not None : return p
points = 0
for a in self.achiever_set.all() :
points += a.award.points * a.count
cache.set('alias_points_' + str(self.id), points, 60 * 60) # 1 hour
return points
class Award(MyBaseModel):
owner_points = models.IntegerField(help_text="A non-normalized point value. Very subjective but try to be consistent. Should be proporional. 2x points = 2x effort (or skill)")
true_points = models.FloatField(help_text="The …Run Code Online (Sandbox Code Playgroud) 我正在构建一个将被荒谬加载的Web服务(每秒数千到数万个查询).我的正常堆栈的apache,PHP,memcache和一些数据库将能够使用一个很好的负载均衡器和很多机器来处理它,但我想知道是否有更好的解决方案.
端点将被信标击中(通过客户端上的javascript),我将读取用户的cookie,从数据库中提取一些小信息,缓存它,做一些小计算,发送响应,如果需要写入数据库并使缓存无效.
良好的技术选择和/或硬件建议?
我有一个在命令行上运行良好的命令.它有很多论据cmd --thing foo --stuff bar -a b input output
我想从python运行它并阻塞等待它完成.当脚本打印到的东西stdout,stderr我希望它立即显示给用户.
什么是正确的模块?
我试过了:
import commands
output = commands.getoutput("cmd --thing foo --stuff bar -a b input output")
print output
Run Code Online (Sandbox Code Playgroud)
这项工作很有效,除非stdout直到最后才返回.
import os
os.system("cmd --thing foo --stuff bar -a b input output")
Run Code Online (Sandbox Code Playgroud)
这将在cmd实际完成时打印所有输出.
import subprocess
subprocess.call(["cmd", "--thing foo", "--stuff bar", "-a b", "input", "output"])
Run Code Online (Sandbox Code Playgroud)
这不会以某种方式正确传递参数(我无法找到确切的问题,但cmd拒绝我的输入).如果我把它echo作为第一个参数,它打印出的命令在我直接粘贴到终端时可以正常工作.
import subprocess
subprocess.call("cmd --thing foo --stuff bar -a b input output")
Run Code Online (Sandbox Code Playgroud)
与上面完全相同.
有没有办法让Sinatra获得Django Admin风格的网络管理员?
我可以直接从我的iOS应用程序链接到Slack团队中的某人吗?如果我只是打开一个slack:网址,它将打开松弛的应用程序,但不会链接到某人的消息线程.我试了几个明显的:
slack:ptarjanslack://ptarjan但我在黑暗中打.
作为参考,Facebook Messenger是fb-messenger://user-thread/{user-id}和skype的skype:{user-id}?chat'.
python ×5
django ×3
ajax ×1
apache ×1
architecture ×1
django-admin ×1
hardware ×1
hash ×1
http ×1
image ×1
ios ×1
java ×1
javascript ×1
join ×1
jquery ×1
leaderboard ×1
mod-wsgi ×1
ruby ×1
scalability ×1
set ×1
sinatra ×1
slack-api ×1
sql ×1
subprocess ×1
thumbnails ×1
unix ×1
url ×1