Archive for April, 2010

snow leopard 修改mac地址

命令行下执行:
sudo ifconfig en0 ether xx:xx:xx:xx:xx:xx
这个命令在leopard 下是无效的。没想到在snow leopard下又重新能用了。

Tkinter 学习

最简单的例子

计算器的例子

计算器图片

php 原生支持memcache session

参考:http://www.ducea.com/2009/06/02/php-sessions-in-memcached/
今天突然看到有人说php session 原生支持memcache, 自己并未验证,有兴趣的同学可以试试。
具体配置:
修改php.ini文件:
; session for memcached
session.save_handler = memcache
; 127.0.0.1:11211 請自行修改成 memcached 的位置
session.save_path=”tcp://127.0.0.1:11211?persistent=1&weight=1&timeout=1&retry_interval=15″
memcache查看状态方法:
/usr/share/memcached/scripts/memcached-tool 127.0.0.1:11211 stats
/usr/share/memcached/scripts/memcached-tool 127.0.0.1:11211 display
/usr/share/memcached/scripts/memcached-tool 127.0.0.1:11211 dump
php查看memcache方法:

用python 写一个smtp 的客户端

需求

提供命令行的邮件发送模式,这样可以把php.ini的send_mail_path设置为这个脚本
命令行模式收到邮件,将邮件内容存入队列数据库即算发送完成
支持设置多个smtp帐号
该脚本需要起一个常驻进程
常驻进程主线程监听一个sock文件, sock端口用于接受外部命令,如立即检查邮件队列等
常驻进程为每个smtp帐号开启一个线程,邮件队列中有邮件时候,每个线程都能从邮件队列中读取邮件并发送,没有邮件时候,所有线程都阻塞
常驻进程需要开启一个线程没60s检查一次队列数据库是否有新邮件到达,有就加入邮件队列,同时检查是否有死掉的发送邮件的线程
命令行发送邮件前先检查常驻进程是否存在,不存在就开启一个常驻进程

下一期开发规划:

支持检查远程服务是否有要发送的邮件,有就通过远程读取,并加入邮件队列

应用场景:

网站如果通过自己服务sendmail发送邮件,容易被其他邮件服务当垃圾邮件过滤,所以现在只能使用google smtp帐号发送,但使用php进行smtp 邮件发送,邮件发送时间太长,而且还不能禁止大并发发送。所以想到用python来做邮件队列,能监测邮件发送的一些情况

进度:

正准备开发。。。