{"id":1246,"date":"2016-12-09T16:28:46","date_gmt":"2016-12-09T20:28:46","guid":{"rendered":"http:\/\/blog.uvm.edu\/ctl-projects\/?p=1246"},"modified":"2016-12-09T16:28:46","modified_gmt":"2016-12-09T20:28:46","slug":"job-queueing-for-uvmtube-cumulusclips","status":"publish","type":"post","link":"https:\/\/blog.uvm.edu\/waw\/2016\/12\/09\/job-queueing-for-uvmtube-cumulusclips\/","title":{"rendered":"Job Queueing for UVMTube (CumulusClips)"},"content":{"rendered":"<p>Two pieces: a surrogate perl script that receives encode command. Streaming server\u00a0would send this command\u00a0direct to OS; now, it sends it to perl script which places job in a queue structure (See <a href=\"http:\/\/search.cpan.org\/~jlavold\/File-Queue-1.01a\/lib\/File\/Queue.pod\">CPAN\u00a0File::Queue<\/a>) . Meanwhile, perl script 2 runs as a background daemon which periodically checks for items in the queue. By default, perl back tic ` operator \u00a0waits for command to finish, so no danger of daemon starting job n+1 while job n is running; nonetheless, \u00a0added some file locking code just to be sure.<\/p>\n<p>&nbsp;<\/p>\n<p>might add some logging, too, just in case. Could be useful for resubmitting jobs.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Two pieces: a surrogate perl script that receives encode command. Streaming server\u00a0would send this command\u00a0direct to OS; now, it sends it to perl script which places job in a queue structure (See CPAN\u00a0File::Queue) . Meanwhile, perl script 2 runs as &hellip; <a href=\"https:\/\/blog.uvm.edu\/waw\/2016\/12\/09\/job-queueing-for-uvmtube-cumulusclips\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[41826],"tags":[42758,59912],"class_list":["post-1246","post","type-post","status-publish","format-standard","hentry","category-wes","tag-boffins","tag-media-manager"],"_links":{"self":[{"href":"https:\/\/blog.uvm.edu\/waw\/wp-json\/wp\/v2\/posts\/1246","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.uvm.edu\/waw\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.uvm.edu\/waw\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.uvm.edu\/waw\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.uvm.edu\/waw\/wp-json\/wp\/v2\/comments?post=1246"}],"version-history":[{"count":0,"href":"https:\/\/blog.uvm.edu\/waw\/wp-json\/wp\/v2\/posts\/1246\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.uvm.edu\/waw\/wp-json\/wp\/v2\/media?parent=1246"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.uvm.edu\/waw\/wp-json\/wp\/v2\/categories?post=1246"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.uvm.edu\/waw\/wp-json\/wp\/v2\/tags?post=1246"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}