Python Thread Pool传参只一个怎么破?

2017-06-09 作者:

作为批量化操作的method,map比apply要方便简洁一些,至少不用for循环一堆东西
【注1】apply现已不用,因为实际使用基本等价于单进程操作
【注2】至于map之于map_async,及apply之于apply_async,是另外一个话题,可以参考这里
回到之前的话题,apply传参 – 可以清晰的看到,apply可以随意带args,多少个都没关系


而map传参 – 函数f只允许带一个参数,就是iterable里可以迭代的list


那么我们如何保留map这样的代码简洁性,同时也可以传多个参数呢?
这就用到了partial,把函数的定参放在partial内去传,变参依然iterable – 至少不需要把定参做成全局变量直接传给insert_and_process函数了
【注】对python2而言,partial只在2.7版本后支持 – 关于partial的说明在这里


有的同学可能要问 –
Q: 那如果两个(或多个)参数都是变参呢?
A: 开动一下脑筋吧 – 一起打进iterable里可好?
Q: 如果变参B与A不具备同样的iterable特性呢?
A: 擦的咧 – 那还map个毛啊。。。

原创文章,转载请注明链接: Python Thread Pool传参只一个怎么破?(注:本站图像可单击浏览大图)

完整阅读本篇»

CentOS 6.x安装新版RabbitMQ

2017-04-06 作者:

看了大半天的文章,尝试各种build(erlang,RabbitMQ),不是build不通,就是依赖不对,或者启动服务失败

完全用CentOS 6.x的默认吧,erlang是R14,RMQ版本是3.1.5,未免太老了

如何是好呢?

其实RabbitMQ官网提供了免依赖的erlang安装包,位于http://www.rabbitmq.com/releases/erlang/


我是用马云家的CentOS镜像yum update到最新做的

安装完成后
使用6.x最常用的service rabbitmq-server start即可启动服务

然后就可以使用userNew登入

http://公网IP:15672/

对MQ进行管理了

同时官网的hello world代码做简单更改,就可以在本地使用公网端MQ进行通信


打完收工

原创文章,转载请注明链接: CentOS 6.x安装新版RabbitMQ(注:本站图像可单击浏览大图)

完整阅读本篇»

微信公号调试遇到Nginx错误499 | Nginx Code 499 on Wechat OAuth debugging

2017-01-25 作者:

最近弄了个公号测试号,尝试一下腾讯OAuth,用的还是习惯的nginx+uwsgi+flask

注意【开放平台】和【公众平台】的OAuth有差别,跳转的auth地址,及scope都是不同的;前者主要用于浏览器app(微信内置浏览器也可兼容),后者跟公众号绑定的更紧密(不关注不能auth)

这货调试蛮坑的 –

  • 首先得有公网IP,这个简单,买个按小时付费的美团云(阿里云)就行,1核1G,不要数据盘,带宽1M;一个小时0.1元多一点,一天也不到3块钱,不需要了随时可删。
  • (带备案)域名一个。这个有点难度,买云主机备案不要钱,但两周时间等的着实有点心焦。如果有现成域名,可以开个二级域名(端口依然要80),nginx转发一下,这样也是ok的。

木有用域名的时候,我尝试直接用云主机ip接测试号,一共有3处配置,都配了IP(而非域名)

  • 接口配置信息
  • JS安全域名
  • OAuth授权回调域名(关键)

但实际在微信浏览器中访问时,页面无法正常展示,这个提示很关键(转换成手机预览模式)

于是在OAuth的过程中,uwsgi经常报如下错误(而且还是在auth成功之后):

500ms的请求不算慢啊,为啥会broken pipe呢?

并且明显uwsgi返回了code 200,请求没啥问题噻?

开始时,丈二和尚摸不着头脑,鉴于uwsgi是nginx的upstream,那就找一下nginx看人家说啥呗

一看不要紧,同一个请求,nginx code是499;google后,表明499是“客户端主动关闭连接”,那么uwsgi送给nginx的200自然木有什么卵用了 – 客户端不要了

而且这一条log是在access.log而非error.log,说明nginx并木有怪罪uwsgi

who to blame right now?

我开始怀疑没有域名导致的转码,找了一个备案后没用过的域名,指向这个ip,不到一分钟就生效了

然后把测试号那三处配置都改成域名,再试。。。搞定了,同一个链接,uwsgi和nginx log都是code 200.

同时网页访问也展示正常了,不需要什么“转换成手机预览模式”(截图就不贴了)。

究其本质,这个nginx code# 499(以及uwsgi的broken pipe),也即客户端主动断开连接,就是ip访问状态下,微信浏览器为了安全防护,拒绝直接渲染前端页面造成的。

原创文章,转载请注明链接: 微信公号调试遇到Nginx错误499 | Nginx Code 499 on Wechat OAuth debugging(注:本站图像可单击浏览大图)

完整阅读本篇»

让树莓派用上移动LTE | RaspberryPi Connect TD LTE

2016-02-18 作者:

很多人用树莓派接联通3G(WCDMA),这样的话,E261量很大很足

还有电信网络(CDMA2K),可以用EC122

可是移动3G/LTE,google找不到相关资料

其实huawei的USB adapter基本都复用了ID,所以基本上只要能买到华为的货,支持哪家的网都不是问题(甚至不需要升级usbmodeswitch版本,不需要自己build代码)

Fisherworks选了E3276s-861,为数不多的支持移动TD 2G/3G/4G/LTE的卡

注意不要随便选那种号称3网的usb卡,对移动的支持恐怕只限于2600MHz,1900不覆盖,到二三线地区估计够呛


 

树莓派wheezy/jessie系统,使用sudo apt-get install ppp usb-modeswitch来安装关键的usb-modeswitch,还有sakis3g/umtskeeper(这个就不写怎么装了,一搜一大把)

随便找一个接联通E261的教程就行,要改的有以下两点~

  1. 设备ID,E261被usbmodeswitch切换过ID后是12d1:1346,而E3276s-861切换后是12d1:1506
  2. CUSTOM_APN,联通是3gnet,移动是cmnet

然后就没有然后了,拨号接通享受网络

pic

 

原创文章,转载请注明链接: 让树莓派用上移动LTE | RaspberryPi Connect TD LTE(注:本站图像可单击浏览大图)

完整阅读本篇»

相册插件的“逆天级服务”| Unbelievable Great Support of Gallery Plugin

2013-09-27 作者:

Sorry, here’s no English version available, however I’m talking about the one-day all-issue-fix support by BestWebSoft – even for a non-pro (free) version of Gallery plugin.

话说once upon a time,本站用的免费版Gallery Plugin因为多日不见“红色の上传小按钮”而黯然神伤,Fisherworks因此遍寻名医却每每“有疾而终”;而此插件却不易随便替换,何故?无它,唯好用尔。

于是不得不忍受每次用多媒体管理器上传,然后挨个操作附加到图库post中,以保持与之前完全统一的相册风格——一旦po错,不得悔改,只能移除重传,这繁琐的操作步骤让该插件颇有鸡肋之感。

前些天,不堪其扰,遂登录wordpress官网,在Gallery Plugin之support forum发帖求助,天可怜见,支持团队两日内即现身力挺(Fisherworks用的可是免费版哦),然而所提方案均为之前试过的,因而问题依然“我思故我在”——并未因“后台老大”来了就有哪怕丝毫收敛;后来support哥祭出必杀技:到我们自己的支持站点,发个私信,把你site的WP管理员和FTP账号show出来吧!

说实话,有点儿担心,当年玩WOW的时候,Blizzard不是说GM从来英雄不问出处……呸呸……从来英雄不问密码么……

不过,话说回来,他们的support ID倒不是假的,而且人家情深意重的花时间在收费版的支持站帮我解决免费版的问题,这是何等的革命共产主义精神!

也罢!于是keep自己的admin和ftp账户,然后去godaddy新建了为临时只用的全权限ftp账号,以及WP admin账号,发出去了……然后就是等啊等……

Guess what? 两小时不到:

  1. Gallery Plugin红色上传小按钮回来了
  2. 相册浏览的lightbox也意外恢复工作了
  3. 就连让我N年痛哭流涕都不工作的post“可视化/文本”编辑器都能来回切换了
  4. (没准儿还有其他fix我还没发现……)

逆天啊!(说的是Gallery Plugin团队的支持速度~~嗯……话说如果是个米国团队,感情人家敬业到以至于凌晨都在线?Fisherworks是不是该考虑入手收费版,聊表心意?)

智捉啊!(说的是Fisherworks的php水平~~嗯……话说Fisherworks要玩什么都是临时抱佛脚,这次终于遇到大坑,趟不过去了么……)

Fisherworks一顿唐僧,算是发泄完了,我们来看看这哥们都给解决了啥问题

Ning,

1) Almost all your WP catalogues had 705 permission. We have already asked you to check the rights for all folders and files.

2) Besides, there was incorrect redirection for .js in the file htaccess and the script couldn’t get loaded on any page. We fixed that.

Sincerely,

Support Team

September 26, 2013 14:04

Ning,

This is the line that caused incorrect interpretation of files: addhandler x-httpd-php5-cgi .php .html .htm .js We removed .js, but we can’t understand why you need to interpret .html .htm. Maybe these extensions should also be removed. Please keep it in mind.

Sincerely,

Support Team

September 26, 2013 14:21

事已至此,Fisherworks竟无语凝噎,啥也不说了,泪奔啊……

要不是人家厚道到把关键功能都放在免费版了(收费版那些额外功能都是必要性不大的),俺真有心像Minecraft和Titanium Backup Pro一样,毕恭毕敬的献上10大刀买个心安理得了——关注后续版本,随时期待收费版新feature!

原创文章,转载请注明链接: 相册插件的“逆天级服务”| Unbelievable Great Support of Gallery Plugin(注:本站图像可单击浏览大图)

完整阅读本篇»

让Mingle Forum上传的图像放置在单独的目录 Let Mingle Forum upload images to isolated directories

2013-07-06 作者:

As far as I know, the Mingle Forum is my favorite forum plugin of WP, but its only Cons is that the allowed uploading image size has no restriction.
I was a C programmer, but not touched it for almost 5 years, and yes I never touched PHP so far in my life. so it’s tough for me to add the restriction or resizing feature.
Then I realized that’s also ok if I can let it upload images to an isolated directory, since it could be easy to remove those images by whole directory from posts when the storage space is close to run out. Otherwise, all those images would stay together with Media library of WP posts/pages – quite hard to isolate them and get those stuff cleaned.

So you see, we get that standard WP media lib directory, then check and/or add “mf” sub-directory, and it’s perfectly solved.
Pls check the code enclosed at post bottom, feel free to refer but pls add link to this post; plus, pls let me know if there is any potential bug inside since it’s my 1st time to touch PHP.

PS: 1st time to read WP and PHP standard API manual, it’s “loud and clear”, not hard to learn, and I could even debug this stuff without error report – sure this one is easy and I know that. 🙂

Fisherworks今天一直在纠结使用哪个论坛插件的问题
bbpress在快速研究之下没找到合适的中文语言包
simple forum支持图像附件貌似还要个插件,而且这个论坛看起来比较专业,不是俺想要的

于是锁定了方便好配置的Mingle Forum,虽然默认皮肤集成不是很好,但这插件实在是太方便易用好配置了,而且默认支持图像附件的上传
但问题也跟着来了,它的图像附件是跟WP混在一个目录里上传的,而且不被WP“多媒体”管理
这都不算事儿,最关键的是Mingle Forum不限制图像尺寸(虽然显示时可以自动缩图,不会出错)
这样的话,每个用户都来发个5M的图像,这空间……

原创文章,转载请注明链接: 让Mingle Forum上传的图像放置在单独的目录 Let Mingle Forum upload images to isolated directories(注:本站图像可单击浏览大图)

完整阅读本篇»