Calling task inside function

You can only do it indirectly from within a process spawned by a fork/join_none.

See section 13.4.4 Background processes spawned by function calls of the 1800-2012 LRM