2008-03-28

全局变量往哪儿放?

关键字: rails 悲观锁
Rails有乐观锁悲观锁,但是悲观锁它不支持整个table的锁啊 好吧,那就SQL吧: ActiveRecord::Base.connection.execute("LOCK TABLE XXX WRITE") ActiveRecord::Base.connection.execute("UNLOCK TABLES") 在Console下试了试,不同进程,可以锁!同步了! 但是,在fastCGI下就是锁不住! 搞一个全局变量,很可行! ActiveRecord::Base.connection.execute("select get_lock('lock_xxx', 100)" ...
单引号、双引号、<script></script>标签等等,都可以用Prototype.js的这段代码来escape(sliu真乃JavaScript高人): function escapeHTML(str) { var div = document.createElement('div'); var text = document.createTextNode(str); div.appendChild(text); return div.innerHTML; };
2008-03-24

Logger::ShiftingError的解决方法

关键字: logger shiftingerror
cron job如果加载rails环境来使用Logger,这样就有多个进程操作Logger,在Logger做Shifting时会有异常,比较取巧的解决方法就是在environment.rb里加一个常量判断(sliu大人的建议): if !$CRON_JOB_STATUS $LOG = Logger.new(File.join(RAILS_ROOT, '/log/rails.log'),'daily') else $LOG = Logger.new(File.join(RAILS_ROOT, '/log/cronjob.log'),'daily') end 然后在cron ...
加入/usr/bin/ruby和/usr/local/bin/ruby有两份程序,而你又没有指定执行哪个,而是按PATH先后顺序来执行,这样就很容易出一些乱七八糟的问题: no such file to load -- rubygems no such file to load -- json no such file to load -- ubygems 所以最好是在你的Cron Job里这样做: /usr/local/bin/ruby xxx_job.rb
http://webonrails.com/2007/09/13/acts_as_solr-starting-solr-server-on-windows/
2008-03-13

Hyper Estraier与acts_as_searchable实践

关键字: acts_as_searchable hyper estraier
acts_as_searchable是一个Rails插件,它依赖于Hyper Estraier这个独立的搜索引擎所提供的索引和搜索服务 1,安装Hyper Estraier 去http://hyperestraier.sourceforge.net/win/下载Binary Packages for Windows,将hyperestraier-1.4.10-win32.zip解压到C:\hyperestraier,将C:\hyperestraier加入到系统环境变量PATH中去 2,启动Hyper Estraier C:\est> estmaster init . C:\est> ...
2008-03-12

Sphinx与MySQL版本不一致会出错

关键字: sphinx mysql
sphinx-0.9.8-rc1-win32与MySQL5.1.x一起使用会出错,换成低版本的MySQL5.0.x即可 应该是MySQL的client/server libraries不匹配导致的
2008-03-12

Windows下ferret安装方法

关键字: ferret
gem install ferret -v=0.11.5 --platform mswin32 要加0.11.5版本号和mswin32平台两个参数,否则安装出错
2008-03-11

利用crontab来做cron job

关键字: crontab
编辑cron job信息: crontab -e 每隔10分钟执行一次: 10 * * * * /home/hideto/test.sh 利用ps查看进程来防止进程重复启动: RS=`ps aux|grep xxx_job|grep -v grep` if ["$RS" = ""]; then echo "No xxx_job instance, start a new one!" ruby xxx_job.rb else echo "Already exists a xxx_job instance, exit!" exit fi
其实很简单,加载environment.rb文件即可,如假设一个.rb脚本在Rails项目根目录下: require File.dirname(__FILE__) + '/config/environment' 然后就可以使用ActiveRecord模型了
2008-03-07

MySQL的存储过程不支持递归

关键字: mysql 存储过程 递归
-- FUNCTION check_asset_group_mirror_relationship DROP FUNCTION IF EXISTS check_asset_group_mirror_relationship; DELIMITER | CREATE FUNCTION check_asset_group_mirror_relationship(group_id bigint(20)) RETURNS int BEGIN DECLARE group_type varchar(255); DECLARE mirror_flag int default ...
hideto
搜索本博客
我的相册
A6bdc31c-c66e-468e-961e-9cc721e82adc-thumb
screenshot
共 1 张
存档
最新评论