{"action":"created","issue":{"url":"https://api.github.com/repos/arobson/rabbot/issues/128","repository_url":"https://api.github.com/repos/arobson/rabbot","labels_url":"https://api.github.com/repos/arobson/rabbot/issues/128/labels{/name}","comments_url":"https://api.github.com/repos/arobson/rabbot/issues/128/comments","events_url":"https://api.github.com/repos/arobson/rabbot/issues/128/events","html_url":"https://github.com/arobson/rabbot/issues/128","id":297573367,"number":128,"title":"Ultra consistent Queue Names without machine/process affiliation","user":{"login":"alonisser","id":1434992,"avatar_url":"https://avatars1.githubusercontent.com/u/1434992?v=4","gravatar_id":"","url":"https://api.github.com/users/alonisser","html_url":"https://github.com/alonisser","followers_url":"https://api.github.com/users/alonisser/followers","following_url":"https://api.github.com/users/alonisser/following{/other_user}","gists_url":"https://api.github.com/users/alonisser/gists{/gist_id}","starred_url":"https://api.github.com/users/alonisser/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alonisser/subscriptions","organizations_url":"https://api.github.com/users/alonisser/orgs","repos_url":"https://api.github.com/users/alonisser/repos","events_url":"https://api.github.com/users/alonisser/events{/privacy}","received_events_url":"https://api.github.com/users/alonisser/received_events","type":"User","site_admin":false},"labels":[{"id":328750020,"url":"https://api.github.com/repos/arobson/rabbot/labels/question","name":"question","color":"cc317c","default":true}],"state":"closed","locked":false,"assignee":{"login":"arobson","id":115508,"avatar_url":"https://avatars0.githubusercontent.com/u/115508?v=4","gravatar_id":"","url":"https://api.github.com/users/arobson","html_url":"https://github.com/arobson","followers_url":"https://api.github.com/users/arobson/followers","following_url":"https://api.github.com/users/arobson/following{/other_user}","gists_url":"https://api.github.com/users/arobson/gists{/gist_id}","starred_url":"https://api.github.com/users/arobson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arobson/subscriptions","organizations_url":"https://api.github.com/users/arobson/orgs","repos_url":"https://api.github.com/users/arobson/repos","events_url":"https://api.github.com/users/arobson/events{/privacy}","received_events_url":"https://api.github.com/users/arobson/received_events","type":"User","site_admin":false},"assignees":[{"login":"arobson","id":115508,"avatar_url":"https://avatars0.githubusercontent.com/u/115508?v=4","gravatar_id":"","url":"https://api.github.com/users/arobson","html_url":"https://github.com/arobson","followers_url":"https://api.github.com/users/arobson/followers","following_url":"https://api.github.com/users/arobson/following{/other_user}","gists_url":"https://api.github.com/users/arobson/gists{/gist_id}","starred_url":"https://api.github.com/users/arobson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arobson/subscriptions","organizations_url":"https://api.github.com/users/arobson/orgs","repos_url":"https://api.github.com/users/arobson/repos","events_url":"https://api.github.com/users/arobson/events{/privacy}","received_events_url":"https://api.github.com/users/arobson/received_events","type":"User","site_admin":false}],"milestone":null,"comments":2,"created_at":"2018-02-15T19:46:10Z","updated_at":"2018-03-02T14:21:57Z","closed_at":"2018-03-02T14:21:57Z","author_association":"CONTRIBUTOR","body":"PR inquiry: Would you be open to a PR along the following lines:\r\nAdd to ```addQueue``` ```unique``` option another options: ```named``` which would set the queue name as ```queue_${name}``` thus making it consistent with different machines/processes/etc\r\n\r\nIf a queue with this name exists, creation should fail\r\n\r\nRational:\r\nCurrently Rabbot allows only one queue naming schema which accounts for recovery concerns which is consistent. Unfortunately consistent queue name does not take into account multiple (competing) workers consuming from the same queue setup dynamically (as part of scaling ) in a kubernetes (or similar solution) cluster, where workers (as pods) can be created on different nodes, every  time one is needed (as part of dynamic scaling or perhaps as a container scheduler job)\r\nThis makes this use case problematic, since either we don't use persistent queues => and when no worker is up loss messages, OR use persistent queues and handle lots of cleanup somehow (removing not needed queues). \r\n\r\nI already hit this one also when migrated apps from one server to other - having the same app create new queues , and needing to cleanup older queues\r\n\r\nWhat do you say? "},"comment":{"url":"https://api.github.com/repos/arobson/rabbot/issues/comments/369933448","html_url":"https://github.com/arobson/rabbot/issues/128#issuecomment-369933448","issue_url":"https://api.github.com/repos/arobson/rabbot/issues/128","id":369933448,"user":{"login":"arobson","id":115508,"avatar_url":"https://avatars0.githubusercontent.com/u/115508?v=4","gravatar_id":"","url":"https://api.github.com/users/arobson","html_url":"https://github.com/arobson","followers_url":"https://api.github.com/users/arobson/followers","following_url":"https://api.github.com/users/arobson/following{/other_user}","gists_url":"https://api.github.com/users/arobson/gists{/gist_id}","starred_url":"https://api.github.com/users/arobson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arobson/subscriptions","organizations_url":"https://api.github.com/users/arobson/orgs","repos_url":"https://api.github.com/users/arobson/repos","events_url":"https://api.github.com/users/arobson/events{/privacy}","received_events_url":"https://api.github.com/users/arobson/received_events","type":"User","site_admin":false},"created_at":"2018-03-02T14:21:57Z","updated_at":"2018-03-02T14:21:57Z","author_association":"OWNER","body":"@alonisser - the only thing changing is you’re not using the exclusive flag but you’d still need an outside coordinating source to determine the queue postfix. That or you’re using the exact same queuename regardless.\r\n\r\nThe unique feature is only for cases when Rabbot is using an aspect of the process, hosting environment or a randomizer to generate a queuename that will avoid collisions with any additional instance of the same service. What you are describing is a queue that would be occasionally shared and so the unique feature doesn’t fit your use case at all since you want other instances to be able to occasionally determine the same queuename.\r\n\r\nYou have several options for how to go about adding a queue where the name is determined programmatically but because they all include an external source to coordinate or share the name, this isn’t a feature I plan to add to Rabbot."}}
{"actor":{"display_login":"arobson"}}