{"action":"created","issue":{"url":"https://api.github.com/repos/cylc/cylc/issues/1324","labels_url":"https://api.github.com/repos/cylc/cylc/issues/1324/labels{/name}","comments_url":"https://api.github.com/repos/cylc/cylc/issues/1324/comments","events_url":"https://api.github.com/repos/cylc/cylc/issues/1324/events","html_url":"https://github.com/cylc/cylc/pull/1324","id":57304731,"number":1324,"title":"SMS-style edit-run functionality","user":{"login":"hjoliver","id":2362137,"avatar_url":"https://avatars.githubusercontent.com/u/2362137?v=3","gravatar_id":"","url":"https://api.github.com/users/hjoliver","html_url":"https://github.com/hjoliver","followers_url":"https://api.github.com/users/hjoliver/followers","following_url":"https://api.github.com/users/hjoliver/following{/other_user}","gists_url":"https://api.github.com/users/hjoliver/gists{/gist_id}","starred_url":"https://api.github.com/users/hjoliver/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hjoliver/subscriptions","organizations_url":"https://api.github.com/users/hjoliver/orgs","repos_url":"https://api.github.com/users/hjoliver/repos","events_url":"https://api.github.com/users/hjoliver/events{/privacy}","received_events_url":"https://api.github.com/users/hjoliver/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/cylc/cylc/milestones/5","labels_url":"https://api.github.com/repos/cylc/cylc/milestones/5/labels","id":262614,"number":5,"title":"soon","description":"A few months in the future. Top priority issues and easy fixes should initially be marked against this milestone, and then moved to *next-release* if work progresses quickly enough.","creator":{"login":"hjoliver","id":2362137,"avatar_url":"https://avatars.githubusercontent.com/u/2362137?v=3","gravatar_id":"","url":"https://api.github.com/users/hjoliver","html_url":"https://github.com/hjoliver","followers_url":"https://api.github.com/users/hjoliver/followers","following_url":"https://api.github.com/users/hjoliver/following{/other_user}","gists_url":"https://api.github.com/users/hjoliver/gists{/gist_id}","starred_url":"https://api.github.com/users/hjoliver/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hjoliver/subscriptions","organizations_url":"https://api.github.com/users/hjoliver/orgs","repos_url":"https://api.github.com/users/hjoliver/repos","events_url":"https://api.github.com/users/hjoliver/events{/privacy}","received_events_url":"https://api.github.com/users/hjoliver/received_events","type":"User","site_admin":false},"open_issues":54,"closed_issues":1,"state":"open","created_at":"2013-02-08T07:07:13Z","updated_at":"2015-02-13T01:12:29Z","due_on":"2015-03-31T07:00:00Z","closed_at":null},"comments":1,"created_at":"2015-02-11T11:33:22Z","updated_at":"2015-02-13T05:19:22Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/cylc/cylc/pulls/1324","html_url":"https://github.com/cylc/cylc/pull/1324","diff_url":"https://github.com/cylc/cylc/pull/1324.diff","patch_url":"https://github.com/cylc/cylc/pull/1324.patch"},"body":"This should finally lay #91 to rest.\r\n\r\nIt works now, but is not quite ready for review yet - I still need to:\r\n * tidy the affected task proxy code,\r\n * make the new functionality available via the GUI,\r\n * restrict use to single tasks (not families or matched groups of tasks)\r\n * (consider use of this via gcylc running on another host)\r\n\r\n*Implementation*\r\nThe ```cylc trigger``` command gets a new option ```--edit``` that causes the suite daemon to get the target task to write its job script, set itself to ```held```, and then return without actually submitting the job.  Then ```cylc trigger``` fires up the user's editor on the new job script (waiting for it to be written if necessary). When the editor is exited, it tells the daemon to release the task, resulting in the edited job script being submitted."},"comment":{"url":"https://api.github.com/repos/cylc/cylc/issues/comments/74206744","html_url":"https://github.com/cylc/cylc/pull/1324#issuecomment-74206744","issue_url":"https://api.github.com/repos/cylc/cylc/issues/1324","id":74206744,"user":{"login":"hjoliver","id":2362137,"avatar_url":"https://avatars.githubusercontent.com/u/2362137?v=3","gravatar_id":"","url":"https://api.github.com/users/hjoliver","html_url":"https://github.com/hjoliver","followers_url":"https://api.github.com/users/hjoliver/followers","following_url":"https://api.github.com/users/hjoliver/following{/other_user}","gists_url":"https://api.github.com/users/hjoliver/gists{/gist_id}","starred_url":"https://api.github.com/users/hjoliver/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hjoliver/subscriptions","organizations_url":"https://api.github.com/users/hjoliver/orgs","repos_url":"https://api.github.com/users/hjoliver/repos","events_url":"https://api.github.com/users/hjoliver/events{/privacy}","received_events_url":"https://api.github.com/users/hjoliver/received_events","type":"User","site_admin":false},"created_at":"2015-02-13T05:19:22Z","updated_at":"2015-02-13T05:19:22Z","body":"Points above addressed, plus a simpler implementation:\r\n\r\nA submit dry-run (used by ```cylc submit --dry-run```) gets a task proxy to write its job script and then return without submitting it to run.  The task proxy now remembers that it has already written the job script for a given submit-number.  An edit run uses a dry-run to generate the job script without affecting the task state, then once editing is done we just trigger it normally.\r\n\r\nWorks with multiple re-triggerings (edited or not), and queue-limited tasks as described in the ```cylc trigger``` command help."}}