title: Strange error with Process.sleep in a supervised Task
body: <p>This simple code is not working</p>
  
  <pre><code>defmodule ElixirCluster do
    use Application
  
    def start(_type, _args) do
      import Supervisor.Spec, warn: false
  
      children = [
        worker(Task, [fn -&gt;
          IO.puts("Hello")
          Process.sleep(1000) #:timer.sleep(1000)
          IO.puts("World")
        end])
      ]
      opts = [strategy: :one_for_one, name: ElixirCluster.Supervisor]
      Supervisor.start_link(children, opts)
    end
  end
  </code></pre>
  
  <p>it only prints <code>Hello</code> and then the program stop, it doesn't even retry, and never prints <code>World</code>. I  dont have a clue what is wrong here.</p>