Mar26
在 Rails 中使用 fork 将耗时任务放到后台执行
最天在检查问题时发现一个同事在执行后台任务的时候有问题,那是个很简单的rails应用,为了能让客户端能快速返回而使用 workling 将费时的工作放到后台执行。但后台的任务执行是单进程的,这就导致在大量并发的情况下有些任务得不到及时执行。当然理想状态是将后台做成多进程的,但由于任务太简单,没有必要为此做太多的工作。因此我给他写了个脚本:
阅读全文|Continue reading »by Seven Du
Mar26
最天在检查问题时发现一个同事在执行后台任务的时候有问题,那是个很简单的rails应用,为了能让客户端能快速返回而使用 workling 将费时的工作放到后台执行。但后台的任务执行是单进程的,这就导致在大量并发的情况下有些任务得不到及时执行。当然理想状态是将后台做成多进程的,但由于任务太简单,没有必要为此做太多的工作。因此我给他写了个脚本:
阅读全文|Continue reading »Jan18
我们有 数十个 rails 应用。以及基于 FreeSWITCH 的VoIP 系统。由于考虑以后的发展做了一个艰难的决定--搬家。以前采用运计算主机托管方案,虽然不用自己维护硬件但也少了好多灵活性,而且带宽和内存很贵,而 Rails 又是吃内存的东西。
阅读全文|Continue reading »Aug02
We eventually have more than 30 rails applications running. Back to the days when we had only 3, we deploy each to a separate domains:
app1.example.com
app2.example.com
app3.example.com
阅读全文|Continue reading »
Dec03
长期运行的mongrel会有内存泄漏,且有时由于开发人员的不慎会引起mongrel占用大量的内存,严重时会引起服务器失去响应而崩溃。当然,使用monit能在一定程序上解决问题,但monit每隔一段时间检测一次内存占用,所以,对于内存占用迅速提高的情形,monit反应就太慢了。因此考虑使用ulimit。但ulimit是针对shell进行限定的。由于我们同时运行着数十个mongrel进程,所以不可能在同一个shell中限制,因此,我修改了mongrel_rails,对每一个mongrel进程进行限制。如果内存占用超标,杀无赦。
阅读全文|Continue reading »Nov01
在Rails的ERB模板中, 经常会用到HTML转义, 最近使用Sinatra, 发现用不了, 最后搜到了这篇文章:
阅读全文|Continue reading »