其實雖說是Cron in Ruby,但卻都用在Rails上lol
Github
Railscasts - Cron in Ruby
以下內容擷取自Railscasts
先在config/environment.rb中加入這段
複製內容到剪貼板
代碼:
# config/environment.rb
config.gem 'javan-whenever', :lib => false, :source => 'http://gems.github.com'
然後下
複製內容到剪貼板
代碼:
# 這表示Windows與此無緣
sudo rake gems:install
之後,在你的Project根目錄中下此指令
複製內容到剪貼板
代碼:
wheneverize .
然後會在config/底下產生一個schedule.rb,編輯它
複製內容到剪貼板
代碼:
every 2.hours do
rake "thinking_sphinx:index"
end
every :reboot do
rake "thinking_sphinx:start"
end
every :saturday, :at => "4:38am" do
command "rm -rf #{RAILS_ROOT}/tmp/cache"
runner "Cart.remove_abandoned"
end
# config/deploy.rb
after "deploy:symlink", "deploy:update_crontab"
namespace :deploy do
desc "Update the crontab file"
task :update_crontab, :roles => :db do
run "cd #{release_path} && whenever --update-crontab #{application}"
end
end
然後儲存離開,跳出來後下
複製內容到剪貼板
代碼:
whenever --update-crontab
接著再下
複製內容到剪貼板
代碼:
crontab -l
看有沒有出現
基本上,用every設定時間必須大於等於60秒,也就是1分鐘,用小於1分鐘就會出問題
rake -T
http://en.wikipedia.org/wiki/Rake_(software)
task :addproduct => :environment (for ActiveRecord)
排程:
linux cron table
分 時 日 月 年 星期 command
*/5 * * * * *
http://rubydoc.info/gems/whenever/0.6.2/frames
/var/log
whenever --update-crontab -s environment=development
crontab -l
2010年11月18日 星期四
2010年11月16日 星期二
2010年11月4日 星期四
2010年11月3日 星期三
Ubuntu 設定固定 IP 和 Proxy
vi /etc/network/interfaces
一、單網卡單 IP
auto eth0 ## 重要,這一行一定要設定
iface eth0 inet static
address [IP] ## 請將 [IP] 換成你要的 IP
netmask 255.255.255.0
gateway 192.168.1.1
# sudo /etc/init.d/networking restart
# export http_proxy=http://帳號:密碼@代理伺服器:port
一、單網卡單 IP
auto eth0 ## 重要,這一行一定要設定
iface eth0 inet static
address [IP] ## 請將 [IP] 換成你要的 IP
netmask 255.255.255.0
gateway 192.168.1.1
# sudo /etc/init.d/networking restart
# export http_proxy=http://帳號:密碼@代理伺服器:port
2010年10月17日 星期日
設定 NetBeans 原始程式檔以 UTF-8 編碼
為了 i18n 考量,檔案編碼應該採用 UTF-8。 NetBeans 預設使用系統編碼,在 Windows 下採 Big5。
欲將 NetBeans 預設的檔案編碼改成 UTF-8,需修改 C:\Program Files\NetBeans 6.5.1\etc\netbeans.conf
加入選項參數: netbeans_default_options:"-J-Dfile.encoding=UTF-8"
欲將 NetBeans 預設的檔案編碼改成 UTF-8,需修改 C:\Program Files\NetBeans 6.5.1\etc\netbeans.conf
加入選項參數: netbeans_default_options:"-J-Dfile.encoding=UTF-8"
2010年10月11日 星期一
Mysql连接1130错误的解决办法
Mysql连接1130错误的解决办法
ERROR 1130: Host 192.168.88.160 is not allowed to connect to this MySQL server
請設定 /etc/mysql/my.cnf 內 bind-address 127.0.0.1 改成 0.0.0.0
改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称”%”
mysql -u root -p
mysql>use mysql;
mysql>update user set host = ‘%’ where user =’root’;
mysql>flush privileges;
mysql>select ‘host’,’user’ from user where user=’root’;
sudo /etc/init.d/mysql restart
现在就可以连接了!
ERROR 1130: Host 192.168.88.160 is not allowed to connect to this MySQL server
請設定 /etc/mysql/my.cnf 內 bind-address 127.0.0.1 改成 0.0.0.0
改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称”%”
mysql -u root -p
mysql>use mysql;
mysql>update user set host = ‘%’ where user =’root’;
mysql>flush privileges;
mysql>select ‘host’,’user’ from user where user=’root’;
sudo /etc/init.d/mysql restart
现在就可以连接了!
2010年8月11日 星期三
延長小紅傘9.0中文體驗版授權期限
原本 Avira 中文版中的授權僅到2010/7/1
依常理應該在六月左右就該自動延長期限了,
但卻沒有,而且要更新時會跟你說:
「產品授權無效」
此時請打開執行(Windows符號鍵+R),
32位元輸入:C:\Program Files\Avira\AntiVir Desktop\fact.exe
64位元請輸入:C:\Program Files (x86)\Avira\AntiVir Desktop\fact.exe
會跳出授權精靈:
點「我已經有一個有效的hbedv.key授權金鑰」
將 http://dl2.avgate.net/down/windows/hbedv.key 貼到檔名的空白處稍後一下就可以了。
依常理應該在六月左右就該自動延長期限了,
但卻沒有,而且要更新時會跟你說:
「產品授權無效」
此時請打開執行(Windows符號鍵+R),
32位元輸入:C:\Program Files\Avira\AntiVir Desktop\fact.exe
64位元請輸入:C:\Program Files (x86)\Avira\AntiVir Desktop\fact.exe
會跳出授權精靈:
點「我已經有一個有效的hbedv.key授權金鑰」
將 http://dl2.avgate.net/down/windows/hbedv.key 貼到檔名的空白處稍後一下就可以了。
訂閱:
文章 (Atom)