{"action":"created","issue":{"url":"https://api.github.com/repos/Internuncio/open-guilds/issues/10","repository_url":"https://api.github.com/repos/Internuncio/open-guilds","labels_url":"https://api.github.com/repos/Internuncio/open-guilds/issues/10/labels{/name}","comments_url":"https://api.github.com/repos/Internuncio/open-guilds/issues/10/comments","events_url":"https://api.github.com/repos/Internuncio/open-guilds/issues/10/events","html_url":"https://github.com/Internuncio/open-guilds/pull/10","id":332249502,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk0Nzc3MDI1","number":10,"title":"Amazon integration sc","user":{"login":"nolantait","id":7119228,"node_id":"MDQ6VXNlcjcxMTkyMjg=","avatar_url":"https://avatars1.githubusercontent.com/u/7119228?v=4","gravatar_id":"","url":"https://api.github.com/users/nolantait","html_url":"https://github.com/nolantait","followers_url":"https://api.github.com/users/nolantait/followers","following_url":"https://api.github.com/users/nolantait/following{/other_user}","gists_url":"https://api.github.com/users/nolantait/gists{/gist_id}","starred_url":"https://api.github.com/users/nolantait/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nolantait/subscriptions","organizations_url":"https://api.github.com/users/nolantait/orgs","repos_url":"https://api.github.com/users/nolantait/repos","events_url":"https://api.github.com/users/nolantait/events{/privacy}","received_events_url":"https://api.github.com/users/nolantait/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-06-14T04:41:44Z","updated_at":"2018-06-14T20:38:16Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/Internuncio/open-guilds/pulls/10","html_url":"https://github.com/Internuncio/open-guilds/pull/10","diff_url":"https://github.com/Internuncio/open-guilds/pull/10.diff","patch_url":"https://github.com/Internuncio/open-guilds/pull/10.patch"},"body":"So I removed most of what you originally put in. I didn't like how messy the separate contracts and received data was. In short:\r\n\r\n- Datums have a priority determined by the completion percentage of a batch and the total time the datum has been waiting to be processed\r\n- Layers have different services (right now either amazon mechanical turk or open guilds)\r\n- Layers manage a priority queue of data and a pool of already queued contracts\r\n- When the contracts dip below a certain integer it will post in whichever queue is available\r\n- Contracts get created and then users update themselves to be assigned to it, same thing with amazon mechanical turk workers\r\n- AMT hit_id and hit_url are stored in external_url and external_id, which will be extensible to other services in the future, but may eventually deserve its own object.\r\n\r\nI went down this route for some key reasons:\r\n1. Queueing theory is going to be central in us being able to control cost vs time for data completion\r\n2. Therefore we need a way to get Little's equations to get best estimates of completion time and approximations of load handling for guilds.\r\n3. In the future I want to allow layers to be formed of other guilds, so as long as they follow the same queueing protocol it should be easy to switch over.\r\n\r\n\r\nTo test the feature:\r\n1. Sign in as a user\r\n2. Create a guild\r\n3. Fill in your credentials for AWS under My Account\r\n4. Create a layer and check Amazon Mechanical Turk under services\r\n5. Add a batch with a datum\r\n6. Run rake jobs:work in a terminal instance to post the jobs to AMT\r\n7. Go to the batch and show the datum\r\n8. Click on \"Link\" and sign in to AMT workers sandbox to see your task successfully posted to AMT."},"comment":{"url":"https://api.github.com/repos/Internuncio/open-guilds/issues/comments/397430580","html_url":"https://github.com/Internuncio/open-guilds/pull/10#issuecomment-397430580","issue_url":"https://api.github.com/repos/Internuncio/open-guilds/issues/10","id":397430580,"node_id":"MDEyOklzc3VlQ29tbWVudDM5NzQzMDU4MA==","user":{"login":"nolantait","id":7119228,"node_id":"MDQ6VXNlcjcxMTkyMjg=","avatar_url":"https://avatars1.githubusercontent.com/u/7119228?v=4","gravatar_id":"","url":"https://api.github.com/users/nolantait","html_url":"https://github.com/nolantait","followers_url":"https://api.github.com/users/nolantait/followers","following_url":"https://api.github.com/users/nolantait/following{/other_user}","gists_url":"https://api.github.com/users/nolantait/gists{/gist_id}","starred_url":"https://api.github.com/users/nolantait/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nolantait/subscriptions","organizations_url":"https://api.github.com/users/nolantait/orgs","repos_url":"https://api.github.com/users/nolantait/repos","events_url":"https://api.github.com/users/nolantait/events{/privacy}","received_events_url":"https://api.github.com/users/nolantait/received_events","type":"User","site_admin":false},"created_at":"2018-06-14T20:38:16Z","updated_at":"2018-06-14T20:38:16Z","author_association":"CONTRIBUTOR","body":"Done changes. Should work fine now."}}
{"actor":{"display_login":"nolantait"}}