将Elixir列表拆分为Equal Chunks

时间:2018-03-30 21:28:58

标签: elixir phoenix-framework

我有一个可能包含多达100K联系人的列表,如何将此列表有效地分成100个批次。

我已经尝试了

Enum.chunk(phonebook_contacts,100,100,[]), 

但不知何故,似乎单个列表中似乎存在重复。

作为一个更完整的片段,我有类似的东西

for x <- Enum.chunk(phonebook_contacts,100,100,[]) do
for y <- x do    
unless Telephony.user_balance_account_number(account_number) <= 0 do
Task.start_link(fn -> 
# Do some background stuff with y
receive do
{:fs_job_result, job_id, packet}-> Telephony.alter_campaign_stats(packet.custom_payload,campaign_id)
after
500000 ->
 IO.puts  "No message in 10 seconds"
end
 end)
...

有没有比使用Enum.chunk更好的方法?并避免重复?

0 个答案:

没有答案