再帰関数を記述して、リストに要素がある場合に実行されるfnと、リストが空の場合に実行されるfnが必要です。
transfer(Master, [H|Tail]) ->
Master ! {transfer, H},
transfer(Master, Tail).
transfer(_Master, []) ->
nil.
私が得ている問題はですsrc/redis/redis_worker.erl:13: function transfer/2 already defined
。同じ名前とアリティを持つ2つの機能に腹を立てていることは理解していますが、これら2つは異なるはずです。