SurfacePro3でWin8.1でYosemiteなメモ
VMWarePlayer7
unlocker-allはv202
vcpu-0:VERIFY vmcore/vmm/main/physMem_monitor.c:1123
のエラーの対処は、VMXファイルの末尾に
smc.version = "0"
■
■Scheduler、woker起動
deployタスク内に下記タスクを定義
desc "タスクの説明文" task :タスク名, roles: :app do run "(cd #{current_path} && QUEUE=* nohup bundle exec rake environment resque:work RAILS_ENV=#{rails_env} > /dev/null 2>&1 &) && sleep 1", :pty => true run "(cd #{current_path} && QUEUE=* nohup bundle exec rake environment resque:scheduler RAILS_ENV=#{rails_env} > /dev/null 2>&1 &) && sleep 1", :pty => true end
killのために、起動時にfileを作成して残しておく
作成
cd *** && pgrep -p 1 -f resque > pid_list.txt
読み込み&kill
cat pid_list.txt | xargs kill
■Redisのresqueデータの説明
redis−cliの接続コマンド
redis-cli -h サーバ名(IPでも) -p 6379
データ取得コマンド
keys * すべてのキーを取得
キーの説明
値の取得コマンドと値の例
1) "ElastiCacheMasterReplicationTimestamp" AWSElastiCacheのタイムスタンプ(resqueとは無関係) 2) "[namespace]:worker:[実行サーバIPアドレス]:8846:*" workerが起動されているサーバのIPとプロセスのPID、最後に実行したジョブとその時刻 コマンド:get "{\"queue\":\"batch\",\"run_at\":\"2015-02-07T14:25:00Z\",\"payload\":{\"class\":\"[クラス名]\",\"args\":}}" 3) "[namespace]:delayed:last_enqueued_at" ジョブが最後にキューに登録された時刻 コマンド:hvals 1) "2015-02-08 14:49:00 +0900" 4) "[namespace]:worker:[実行サーバIPアドレス]:8846:*:started" 最後にworker:[実行サーバIPアドレス]:8846でジョブが開始された時刻 コマンド:get "2015-02-07 23:12:15 +0900" 5) "Redis::Mutex:[ジョブ名]" 排他制御用のpage_view_counterのロック値 コマンド:get 1421322711.8214214 6) "[namespace]:workers" redisに接続しているワーカープロセスのサーバIPとプロセスのPID コマンド:smembers 1) "[サーバIPアドレス]:1234:*" 7) "[namespace]:queues" redisに登録されているキューの名前[namespace] コマンド:smembers 1) "[namespace]" 8) "[namespace]:schedules" スケジュールされているジョブ コマンド:hvals 1) "{\"description\":\"ジョブ説明\",\"queue\":\"[namespace]",\"class\":\"クラス名",\"cron\":\"cronスケジュール"}" 9) "[namespace]:[namespace]:resque_scheduler_master_lock" マスタースケジューラとして登録されているスケジューラプロセスのサーバ名とプロセスのPID コマンド:get サーバ名:20289 10) "[namespace]:queue:[キュー名]" [キュー名]に登録されているジョブ コマンド: llen key で、登録数を取得 lindex key indexで値を取得 {\"class\":\"クラス名",\"args\":}
ローカルであればresque-web -N namespace でweb画面で確認可能
YosemiteにアップデートしたらGitにSSLのエラーでpushできなくなった件
.git/config書き換えたらなおった。
これを
[http]
sslcainfo = .git/xxxxxxx.pem
sslVerify = false
こうしたらなおった。
[http]
sslVerify = false
いままで同じ設定で通っていたのを考えると、内部の処理フローが変わったのか?
Git?SSL?で修正・変更あったの?なぞい。
YosemiteにしたらPostgreSQL動かなくなった件
YosemiteにアップデートしたらPostgreSQLが起動しなくなりました。
よくある話のようで、ぐぐると、
このフォルダを作成すべし
mkdir /usr/local/var/postgres/pg_tblspc
mkdir /usr/local/var/postgres/pg_twophase
mkdir /usr/local/var/postgres/pg_stat_tmp
という情報が多いです。
ただ、これをそのまま実施しても動きません。というのは、環境によってこのフォルダを作成する場所が異なるからです。
私の場合は、PostgreSQLは
/usr/local/Cellar/postgresql/
にインストールされているので、
/usr/local/Cellar/postgresql/9.2.2/data/配下に、上記3フォルダを作成する必要がありました。
まずはwhichとlsで所在を把握してから作成すれば動くのではないかと思われます。
$ which postgres
/usr/local/bin/postgres$ ls −la /usr/local/bin/postgres
lrwxr-xr-x 1 username role 39 7 29 14:49 /usr/local/bin/postgres -> ../Cellar/postgresql/9.2.2/bin/postgres
Error: Permission denied
nokogiriを更新する前作業として、以下を実行
brew tap homebrew/dupes
brew install libxml2 libxslt libiconv
したところ、
Error: Permission denied - /usr/local/Cellar/libiconv/1.14
とか言われてインストール(アップグレード)できなかった。
単純な話。そのままでした。(そもそもなんでそうなったかは突き詰めてない)
ls -laすると、
drwxr-xr-x 3 [USERNAME] admin 102 6 30 02:38 libevent
drwxr-xr-x 3 root admin 102 7 29 16:08 libiconv
drwxr-xr-x 3 [USERNAME] admin 102 7 29 16:55 libmpc
drwxr-xr-x 3 [USERNAME] admin 102 12 29 2012 libpng
drwxr-xr-x 3 [USERNAME] admin 102 12 29 2012 libtool
drwxr-xr-x 4 [USERNAME] admin 136 10 3 11:32 libxml2
drwxr-xr-x 3 [USERNAME] admin 102 7 29 16:00 libxslt
なんかrootになってるー
ということで、
sudo chown [USERNAME] /usr/local/Cellar/libiconv
したらちゃんと動いてくれました。
MemcachedとRedisの中身を確認する
RailsでMemcachedやRedisをsession_storeやcache_storeに利用していて、セットされた値やキーを確認したい場合によく利用するコマンドのメモ。
Memcached
接続 (port:11211)
サーバ状態確認
stats
キー登録状況確認
stats items
キーと値の確認
stats items の出力
STAT items:X number Y を利用して、下記コマンドを実行stats cachedump X Y
Redis
接続 (port:6379)
redis-cli
サーバ状態確認
info・・・サーバ状態
client list・・・接続状況
データをset/getできていればcmd=set/get等
cliからはcmd=client
キー登録状況確認
dbsize・・・その時点でのキー数を返す
keys [pattern]・・・[pattern]で指定したパターンに一致するキャッシュ値を返す *を利用可
キーを全削除する
flushdb
だいたいこんな感じ。
.idea/dataSources.xmlが邪魔
.idea/dataSources.xmlが邪魔
でした。
毎回commitしてないよとか言われるし。
ちなみにこのファイルは、ViewのTool WindowにあるDatabaseで接続先を表示するために使うファイルのようです。プロジェクトを再ロードした際に、(たぶん)database.ymlなどのDB設定ファイルを読み込んで生成されるため、たとえ消してしまってもまぁあまり困らないファイルです。
.gitignoreに
.idea
.idea/
.idea/dataSources.xml
など追記しても、環境設定でignorefilesに追加しても、RubyMineのcommitDirectoryのリストから消えてくれません。
むーん。
仕方ないので、コマンドラインのgitからあれやこれややって、なんとかリストから消えてくれました。
今日はそのメモ。
だいたいこんな感じで、リポジトリから消えた状態になりました。
試行錯誤の上でこうしたので、.gitignoreがcommitされない状態になりましたが、そのようなときは、ファイルのコンフリクトなどがあれば修正し、git add .gitignoreして、git commitしてあげてください。
最終的にはgit rebaseしてからpush。色々無かった事に・・・。
プロジェクトを再ロードするとまた生成されるので、手動で消す必要があるかもしれません。そこまでは未確認。