{"action":"created","issue":{"url":"https://api.github.com/repos/ampache/ampache/issues/1186","repository_url":"https://api.github.com/repos/ampache/ampache","labels_url":"https://api.github.com/repos/ampache/ampache/issues/1186/labels{/name}","comments_url":"https://api.github.com/repos/ampache/ampache/issues/1186/comments","events_url":"https://api.github.com/repos/ampache/ampache/issues/1186/events","html_url":"https://github.com/ampache/ampache/issues/1186","id":143253087,"number":1186,"title":"Catalog update improvement ","user":{"login":"ciroiriarte","id":1750260,"avatar_url":"https://avatars.githubusercontent.com/u/1750260?v=3","gravatar_id":"","url":"https://api.github.com/users/ciroiriarte","html_url":"https://github.com/ciroiriarte","followers_url":"https://api.github.com/users/ciroiriarte/followers","following_url":"https://api.github.com/users/ciroiriarte/following{/other_user}","gists_url":"https://api.github.com/users/ciroiriarte/gists{/gist_id}","starred_url":"https://api.github.com/users/ciroiriarte/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ciroiriarte/subscriptions","organizations_url":"https://api.github.com/users/ciroiriarte/orgs","repos_url":"https://api.github.com/users/ciroiriarte/repos","events_url":"https://api.github.com/users/ciroiriarte/events{/privacy}","received_events_url":"https://api.github.com/users/ciroiriarte/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ampache/ampache/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":15,"created_at":"2016-03-24T13:57:13Z","updated_at":"2016-04-14T09:31:52Z","closed_at":null,"body":"Hi!, my understanding is that each catalog update is a sequential process, this cannot scale well with large catalogs (millions of files).\r\n\r\nCan this be improved to handle those cases?.In other projects like Observium I've seen some workarounds like process wrappers that can handle queues and workers to avoid major rewrites:\r\n\r\nhttps://github.com/pgmillon/observium/blob/master/poller-wrapper.py"},"comment":{"url":"https://api.github.com/repos/ampache/ampache/issues/comments/209849482","html_url":"https://github.com/ampache/ampache/issues/1186#issuecomment-209849482","issue_url":"https://api.github.com/repos/ampache/ampache/issues/1186","id":209849482,"user":{"login":"wagnered","id":6115438,"avatar_url":"https://avatars.githubusercontent.com/u/6115438?v=3","gravatar_id":"","url":"https://api.github.com/users/wagnered","html_url":"https://github.com/wagnered","followers_url":"https://api.github.com/users/wagnered/followers","following_url":"https://api.github.com/users/wagnered/following{/other_user}","gists_url":"https://api.github.com/users/wagnered/gists{/gist_id}","starred_url":"https://api.github.com/users/wagnered/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wagnered/subscriptions","organizations_url":"https://api.github.com/users/wagnered/orgs","repos_url":"https://api.github.com/users/wagnered/repos","events_url":"https://api.github.com/users/wagnered/events{/privacy}","received_events_url":"https://api.github.com/users/wagnered/received_events","type":"User","site_admin":false},"created_at":"2016-04-14T09:31:52Z","updated_at":"2016-04-14T09:31:52Z","body":"@Afterster,\n\nI found that procedure. What I'm doing now is determining the catalog\ntype from the file path then processing them.\n\nI'm redoing the script to set up scanning the folders of all\ncatalogs/types, looking into creating an indefinite number of\n\"listeners\": A new one for every additional catalog entry.\n\nI've eliminated that sql statement in my latest version. Now, I get the\ncatalog id and gather type from a very simple statement then pass them\nto the respective delete/modify/add functions.\n\nIn each of those functions, it is necessary to determine whether it is\nan audio or video file then process it appropriately.  The complication\narises in the fact that there is no consistency in functions between the\nsong, Movie and TV classes. But as I keep going through the functions of\nthe various classes, I find that various Ampache functions reduce the\ncode in the script.\n\nThanks for the reminder that it needs to check if the catalog is local.\n\nI have been asked by the developer of MetaX (mp4 tagger), Dan Hensley,\nto help discover the steps to allow the latest version to run with Wine.\nIn a short time, I can get back on the script.\n\n\n\nOn 04/14/2016 12:38 AM, Afterster wrote:\n> @wagnered <https://github.com/wagnered> thank you for doing it. I\n> believe it should resolve @ciroiriartre request.\n> The code looks fine for me (just fyi, there is already a function to\n> retrieve catalog by type |Catalog::get_catalogs('music')| but you would\n> have to check if the catalog is local then I believe your SQL request is\n> fine here.\n> \n> —\n> You are receiving this because you were mentioned.\n> Reply to this email directly or view it on GitHub\n> <https://github.com/ampache/ampache/issues/1186#issuecomment-209808138>\n> \n\n-- \n73 From  AA1AD\nErnie D\nFederal Way, WA | CN87ug\n"}}