ワーカー使っていると、一部のジョブだけちょっと優先的に実行したいということがあるので、TheSchwartz の場合、prioritize => 1 にしてプライオリティを有効にするとよいのですが、挙動でハマったのでメモをしておきます。

今回のケース

そもそもジョブごとにプライオリティはつけていないが、一部のジョブだけ手動対応で優先して処理を行いたくなった。

やったこと

該当ジョブを

update job set run_after = insert_time, grabbed_until = insert_time, priority = 1 where ...;

で優先順位を設定しすぐに実行開始できるようにした

結果

_人人人人人人人人人人人人_
> なかなか実行されない <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄

というのも、TheSchwartz は priority 順でソートして50件取得して、それをシャッフルしてから1件選んで実行する、という挙動をするため。

つまり、優先順位を設定したとしても有象無象と混ぜられた 1/50 のクジに当たらなければ、そのジョブは実行されない。1/50 って2%だよ…… 2%…… 100回ジョブ実行しようとしてようやく86.7%の確率だよ……


どうするか?

とにかく入ってるジョブをすぐ実行したい場合

  • $TheSchwartz::FIND_JOB_BATCH_SIZE (デフォルト50) を 1 にする
  • 該当ジョブ以外の run_after を適当に未来に設定する
  • ジョブIDを指定して1回だけワークするスクリプト書いて手動実行

ぐらいしかない。

  1. トップ
  2. tech
  3. TheSchwartz の prioritize を有効にしたときの挙動は愉快
  1. トップ
  2. perl
  3. TheSchwartz の prioritize を有効にしたときの挙動は愉快

よくある、マイナス側がスプリングになっている電池ケース、直列10個のものを使っていたが、どうも電圧降下が大きい気がしたので計ってみたところ、端子一組あたり67mΩほど抵抗があった。

10個直列で入っているので、およそ合計で 670mΩ の抵抗が直列で入っている。つまり 2A 流すと、これら金具だけで 1.34V も電圧降下が起きてしまう。約 2.68W もの電力がケースだけで失なわれる。

検索したところ、この手の電池ホルダーの性能があまり良くないのは有名らしく、特にスプリングの材質があまりよろしくないようだ。

いろいろ探した結果アメリカ Keystone 社の電池ホルダーがよさそうということがわかったが、廃盤のようで非常に高価になってしまっている。昔は秋月で100円ぐらいで売っていたみたいだけれど、今はもう単4のものしかない。

ということで、代わりにaitendo の電池ホルダで作ってみた。(秋月にも同様の製品はある)

これで作ってみたところ、電池1つあたりの電圧降下は 1A のとき 5mV つまり抵抗値は 5mΩ になった。10本で 50mΩ ということになり、2A時でも 100mV の電圧降下に抑えられ、大きく改善された。

この電池クリップ(ホルダー)は基板にうまく固定する必要があって面倒なのと、プラス/マイナスの入れ間違いをしても気付けない (フェイルセーフがついてない) ので、あまり好ましい感じではない。が、電池ケースでやたら無駄に電力が熱に変わるのは嫌なのでしかたない。

測定方法

テスターの抵抗測定機能だと微小抵抗はちゃんと測れないので、デジタルマルチメーター2台による4点計測方式で測定した。

電池の金具部分に比較的大きな電流 (経路中の定格を上回らない程度) を流し、測定対象で降下した電圧を計って抵抗値を求める。今回は直読できるように、安定化電源の定電流モードで、丁度1A流れるようにして測定した (1A 流した場合、R = E / I なので、R = E になる)

ただし、電池を入れた状態での測定ではないので、電池の端子との接触抵抗は測れていない。あくまで金具中の抵抗値だけを計っている

  1. トップ
  2. tech
  3. 電池ケースの電圧降下
  1. トップ
  2. ham
  3. 電池ケースの電圧降下

一通り移動運用に必要なものとその重量を表にして重量支配率のグラフを作った。

  • カバンが重すぎ
  • MacBook Pro が重すぎ

なので、まずこれらをどうにかする必要がある。カバンはもっと軽いカバンに変えるしかない。MacBook Pro は、昔使っていた Air に新しく無線用のユーザをセットアップしたらちょっとよくなるかもしれない。

カバンを半分の1kg、MacBook Air 11in 1.08kg に変えるとすると、これらだけで 1.6kg 程度軽くすることができる。または、ノートPC自体を止めてスマフォだけでの運用方法を考えたほうがいいかもしれない。

あとは

  • カメラバッグでクッション付きなので、ソフトケースは無駄そう
  • バッテリーはさらにリチウムイオンの高容量のが欲しいので実際はもっと重量を増やしたい
  1. トップ
  2. ham
  3. 移動運用について重さから考える