{"action":"opened","issue":{"url":"https://api.github.com/repos/dask/dask/issues/1239","repository_url":"https://api.github.com/repos/dask/dask","labels_url":"https://api.github.com/repos/dask/dask/issues/1239/labels{/name}","comments_url":"https://api.github.com/repos/dask/dask/issues/1239/comments","events_url":"https://api.github.com/repos/dask/dask/issues/1239/events","html_url":"https://github.com/dask/dask/issues/1239","id":158985983,"number":1239,"title":"explicitly pass in names for delayed functions","user":{"login":"maxhutch","id":1538980,"avatar_url":"https://avatars.githubusercontent.com/u/1538980?v=3","gravatar_id":"","url":"https://api.github.com/users/maxhutch","html_url":"https://github.com/maxhutch","followers_url":"https://api.github.com/users/maxhutch/followers","following_url":"https://api.github.com/users/maxhutch/following{/other_user}","gists_url":"https://api.github.com/users/maxhutch/gists{/gist_id}","starred_url":"https://api.github.com/users/maxhutch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/maxhutch/subscriptions","organizations_url":"https://api.github.com/users/maxhutch/orgs","repos_url":"https://api.github.com/users/maxhutch/repos","events_url":"https://api.github.com/users/maxhutch/events{/privacy}","received_events_url":"https://api.github.com/users/maxhutch/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-06-07T17:59:02Z","updated_at":"2016-06-07T17:59:02Z","closed_at":null,"body":"tl;dr I want to pass the uniquely identifying name of delayed function instead of having it automatically generated via a hash of the function and arguments.\r\n\r\nI'm using delayed to build workflows.  The result of a function that I'm delaying depends on some but not all of its arguments.  For example, a function which performs a parallel reduction might have a `num_workers` argument that doesn't affect the output.  Right now, delayed hashes it anyways and forces re-computation.  I want to avoid that.\r\n\r\nThe real use-case is a bit more complicated: I'm making some system calls from within the delayed functions that run simulations on supercomputers.  This calculations are very expensive, so I want a bit more control over which tasks are considered to have the same output.\r\n\r\nThe behavior I'm looking for [is here](https://github.com/maxhutch/nekpy/blob/names/nekpy/dask/tasks.py#L60), but it doesn't work: the names in the dask are still of the form `<function name>-<hash of something>`.  Tracing the code I get lost in DelayedLeaf, which seems to ignore its name argument."}}
{"actor":{"display_login":"maxhutch"}}