|
SageTV Customizations This forums is for discussing and sharing user-created modifications for the SageTV application created by using the SageTV Studio or through the use of external plugins. Use this forum to discuss customizations for SageTV version 6 and earlier, or for the SageTV3 UI. |
|
Thread Tools | Search this Thread | Display Modes |
#201
|
|||
|
|||
HandBrake512MP4 {
:CPU "LOW" :RESOURCES 40 "c:\\mediashrink\\mediashrink.bat \"%c%\"" }
__________________
Channels DVR UBUNTU Server 2 Primes 3 Connects TVE SageTV Docker with input from Channels DVR XMLTV and M3U VIA Opendct. |
#202
|
||||
|
||||
Here's the exception your were looking for, looks like it backs up your theory...
Code:
java.lang.IllegalStateException: Form too large504836>200000 at org.mortbay.jetty.Request.extractParameters(Request.java:1545) at org.mortbay.jetty.Request.getParameter(Request.java:843) at com.google.code.sagetvaddons.sjq.server.SJQServlet.doPost(SJQServlet.java:114) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:389) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417) at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.handler.rewrite.RewriteHandler.handle(RewriteHandler.java:230) at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534) at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)
__________________
Clients: 1xHD200 Connected to 50" TH-50PZ750U Plasma Server : Shuttle SFF SSH55J2 w/ Win7 Home, SageTV v7, Core i3 540, 2GB RAM, 30GB SSD for OS, 1.5TB+2x1TB WDGP for Recordings, BluRay, 2xHDHR, 1xFirewire SageTV : PlayOn, SJQ, MediaShrink, Comskip, Jetty, Web Client, BMT Having a problem? Don't forget to include a log! (Instructions for: PlayOn For SageTV v1.5, MediaShrink) |
#203
|
|||
|
|||
Glad that was it! So to all SJQv3 users: You need to increase Jetty's max POST size in order to prevent issues with the task client's ability to flush its buffered task output back to the server. I've updated both the beta upgrade wiki doc and the SJQv3 User's Guide with instructions on how to do this. This Jetty reconfiguration is especially important for users who run ShowAnalyzer against H.264 files from SJQ because ShowAnalyzer will produce the amount of output that will cause you to hit this issue.
I've already talked to jreichen and the post limit will be increased by default in the next release of the Jetty plugin for SageTV (no scheduled release date for it at this time).
__________________
Twitter: @ddb_db Server: Intel i5-4570 Quad Core, 16GB RAM, 1 x 128GB OS SSD (Win7 Pro x64 SP1), 1 x 2TB media drive Capture: 2 x Colossus STB Controller: 1 x USB-UIRT Software:Java 1.7.0_71; SageTV 7.1.9 Clients: 1 x HD300, 2 x HD200, 1 x SageClient, 1 x PlaceShifter Plugins: Too many to list now... |
#204
|
|||
|
|||
Quote:
Code:
2009-12-06 20:05:14,069 INFO [MediaFileQueueLoader]: Run completed [1077ms] 2009-12-06 20:05:14,070 INFO [VacuumCleaner]: Thread finished [1ms] 2009-12-06 20:05:14,129 INFO [LogCleaner]: Thread finished [59ms] 2009-12-06 20:05:25,092 INFO [SystemMessageQueueLoader]: Run completed [59ms] 2009-12-06 20:05:49,219 INFO [InternalTaskClient]: Run completed [0ms] 2009-12-06 20:05:58,741 INFO [FileCleaner]: Thread finished [44671ms] Would it be possible to uncouple it from the queue loader process perhaps? Or to perform the file cleaner function in a less zealous manner? Personally, if I could get the file cleaner to run only once a day overnight, that would be acceptable. Alternatively, I wouldn't mind it running every queue loader interval if it was a little less demanding on resources, even if it took longer to complete. Thanks for helping narrow down the problem. I'm interested in any suggestions you might have from here.
__________________
Andrew |
#205
|
|||
|
|||
Hmm... that's just way too slow. It's not the number of file types you search for and delete in the settings because those are all combined into three regular expressions to match against, whether you check for one file extension or 500 is (mostly) irrelevant. I say 'mostly' because Java's regular expression library is not exactly the most efficient/best performing one of all time, but still 44.6 seconds is ridiculous.
The more likely causes of performance issues with the file cleaner are: I would venture to guess that the problem is somewhere in the above list, but to test a code problem on my part, you could change your FileCleaner settings to something much more simplistic and see if the time required comes way down. As a point of comparison, I check for and delete three different file extensions if there is no matching mpg|ts|mkv and I have one recording directory on a local disk and there is usually between 420-475 files in that directory at any time and my FileCleaner runs for 650-735ms. Sometimes as high as 1050ms if the system is busy or whatever. I've never come close to 44.6 seconds. I could (and probably should) decouple these threads from the media queue loader, but it's legacy code that was in place before I went multi-threaded and don't really want to rip it out unless I'm given evidence that there's a problem with the code that needs fixing, in which case I'd probably separate it away from the queue loader processes.
__________________
Twitter: @ddb_db Server: Intel i5-4570 Quad Core, 16GB RAM, 1 x 128GB OS SSD (Win7 Pro x64 SP1), 1 x 2TB media drive Capture: 2 x Colossus STB Controller: 1 x USB-UIRT Software:Java 1.7.0_71; SageTV 7.1.9 Clients: 1 x HD300, 2 x HD200, 1 x SageClient, 1 x PlaceShifter Plugins: Too many to list now... |
#206
|
|||
|
|||
File cleaner woes
Quote:
I have five video directories defined, four local disks and one network location (I am assuming import directories are irrelevant in this context as I do not have them set to be scanned). At the moment, these directories contain 4275 files combined. I have all my drives set to never spin down to avoid any recording problems, and also to avoid wear on the drives from spinning up and down repeatedly. I do not believe there is any network problem, as viewing shows stored on the one networked drive works fine. Also, if I watch the network traffic when the file cleaner runs, I see a short burst of about 50Mbps for 2-3 seconds on the lan which I take to be the sum of the interaction with the file server. In any case, the network location holds only a tiny minority of the total file count (around 300 files total). Regarding a failing hard drive, I don't think so, though it is hard to be 100% certain with things like that. I hear no unpleasant noises from any drives, they are all fairly new, and I haven't encountered any errors in the OS or noticed any problems accessing files stored on them. I am running Windows 7, which I believe has support for SMART, and it has not informed me of any impending failures. As to the testing, the amount of time it takes seems to depend not on how many file extensions are searched for but rather how many files match the regex. If I enter a long regex of various extensions that I know will not match any files, the file cleaner completes in under 100ms. If I enter just a single extension that will match existing files the run time increases to around 5000ms. Two extensions that will match files and it rises to 12000ms. I imagine things would be a great deal worse for me if all 17 extensions I have configured actually matched files! Fortunately in many cases they do not. As an aside, will file cleaner operate on import directories if I set SJQ to scan imported videos? Currently I have only TV recordings selected to scan. Thanks for your help. Looking forward to any suggestions you might have.
__________________
Andrew |
#207
|
|||
|
|||
Quote:
Given the results you've reported above, I see a possible optimization to the process. If you have time today to test a private build then PM me and I'll give you the details.
__________________
Twitter: @ddb_db Server: Intel i5-4570 Quad Core, 16GB RAM, 1 x 128GB OS SSD (Win7 Pro x64 SP1), 1 x 2TB media drive Capture: 2 x Colossus STB Controller: 1 x USB-UIRT Software:Java 1.7.0_71; SageTV 7.1.9 Clients: 1 x HD300, 2 x HD200, 1 x SageClient, 1 x PlaceShifter Plugins: Too many to list now... |
#208
|
|||
|
|||
Any ideas why my comskip jobs fail at 99%? I started using SJQ just last week from regular ol' comskip. I attached some copy/pastes from the logs.
|
#209
|
||||
|
||||
Looks like you're doing live comskip and that's just what the logs look like. Once it reaches the end of the file it just stays at 99% until the file stops being recorded.
I think the reason it ended up in the fail queue is that comskip returns a 1 for success. Just add this to your client config and you should be good... COMSKIP { :RETURNCODE 1 "C:/Program Files/SageTV/SageTV/ComskipMonitor/comskip80_025/comskip.exe \"%c%\" }
__________________
Clients: 1xHD200 Connected to 50" TH-50PZ750U Plasma Server : Shuttle SFF SSH55J2 w/ Win7 Home, SageTV v7, Core i3 540, 2GB RAM, 30GB SSD for OS, 1.5TB+2x1TB WDGP for Recordings, BluRay, 2xHDHR, 1xFirewire SageTV : PlayOn, SJQ, MediaShrink, Comskip, Jetty, Web Client, BMT Having a problem? Don't forget to include a log! (Instructions for: PlayOn For SageTV v1.5, MediaShrink) |
#210
|
|||
|
|||
It's not live, it's scanning all the shows in the recorded tv directory one after another. If it is live, how do I change it? I guess I could post my comskip.ini?
|
#211
|
||||
|
||||
What's your server rule set look like?
__________________
Clients: 1xHD200 Connected to 50" TH-50PZ750U Plasma Server : Shuttle SFF SSH55J2 w/ Win7 Home, SageTV v7, Core i3 540, 2GB RAM, 30GB SSD for OS, 1.5TB+2x1TB WDGP for Recordings, BluRay, 2xHDHR, 1xFirewire SageTV : PlayOn, SJQ, MediaShrink, Comskip, Jetty, Web Client, BMT Having a problem? Don't forget to include a log! (Instructions for: PlayOn For SageTV v1.5, MediaShrink) |
#212
|
|||
|
|||
oops, forgot to post that. I used the rule in the v3 guide:
Code:
if [IsObjMediaFile == true && $.IsTVFile{} == true && $.IsNotManualOrFavorite{} == false] { :PRIORITY 10 # Optional, default priority is zero COMSKIP } |
#213
|
|||
|
|||
Snapshot 690 ready; HIGHLY recommended
Snapshot 690 is now available. This build includes a much improved algorithm for the FileCleaner thread. Tests show a literal 99.86% performance gain using the new FileCleaner. All users are encouraged to upgrade.
NOTE: Please read the updated user guide docs concerning the file cleaner. The second input used to be a regular expression, but is now a simple delimited list of file extensions to check for. The delimiter is the '|' character and if you just have a list of extensions like 'mpg|ts|mkv' then there should be no change required, but if you actually used regular expression matching then you MUST CHANGE THIS VALUE TO A SIMPLE DELIMITED LIST BEFORE UPGRADING. Failure to do so will result in files being deleted unexpectedly. You've been warned! Thanks to awhenry for testing the various builds over the last couple days since he had an environment that really exposed the poor algorithm originally implemented and was able to verify the performance gains for me. Under the old algorithm the FileCleaner thread was taking about 44 seconds to complete each time on his system. With the new algorithm, the run time is now 63ms (a gain of 99.86%)!
__________________
Twitter: @ddb_db Server: Intel i5-4570 Quad Core, 16GB RAM, 1 x 128GB OS SSD (Win7 Pro x64 SP1), 1 x 2TB media drive Capture: 2 x Colossus STB Controller: 1 x USB-UIRT Software:Java 1.7.0_71; SageTV 7.1.9 Clients: 1 x HD300, 2 x HD200, 1 x SageClient, 1 x PlaceShifter Plugins: Too many to list now... |
#214
|
|||
|
|||
Excellent
__________________
Andrew |
#215
|
|||
|
|||
Task logging issues
Quote:
As I mentioned before, none of my tasks (active or completed) show any log info when I select "view log". I checked a little more closely, and I can see that the tasks initially start off logging as you indicated they should. However when the log cleaner process runs, it wipes out all the logged info for every task. After this occurs nothing further ever appears in the task log for a task until the task is completed, at which point the full and complete command line output of the task shows up until the next log cleaner run, at which time it is deleted. I have my log purge settings set to the defaults I think (weekly/weekly/monthly). I am using the latest client version. I'm not sure how to troubleshoot this. Any ideas why this would be happening? Is there a config file entry that might control this? On the topic of logs, three other quick questions. First, when viewing the server logs, clicking "Clear Log" does not clear the log (the banner message does appear saying the logs were cleared, but all the log entries remain). Is this supposed to work in the current version? Second, is there a way to disable the log entry warning that an IPv6 interface was detected? This message comprises 95% of my log entries, and it is a bit difficult sometimes to find the signal in all that noise. Finally, is there something I can edit to allow the running task to submit logs more frequently, so that I can see the output while it is running? This isn't a huge issue, but it would be nice to be able to see the ongoing progress, especially if you think something has gone sideways with the process. Thanks for any assistance you can provide, and for the work you have already done.
__________________
Andrew |
#216
|
||||
|
||||
Quote:
Let's start with something simple. Set all the log types to flush monthly. Run the queue loader manually (which triggers the log cleaner). Do your logs still all get wiped out? Quote:
Quote:
Quote:
__________________
Twitter: @ddb_db Server: Intel i5-4570 Quad Core, 16GB RAM, 1 x 128GB OS SSD (Win7 Pro x64 SP1), 1 x 2TB media drive Capture: 2 x Colossus STB Controller: 1 x USB-UIRT Software:Java 1.7.0_71; SageTV 7.1.9 Clients: 1 x HD300, 2 x HD200, 1 x SageClient, 1 x PlaceShifter Plugins: Too many to list now... |
#217
|
|||
|
|||
Quote:
Quote:
Code:
long interval = 30 * 24 * 60 * 60 * 1000; // 30 days converted to ms
__________________
Twitter: @ddb_db Server: Intel i5-4570 Quad Core, 16GB RAM, 1 x 128GB OS SSD (Win7 Pro x64 SP1), 1 x 2TB media drive Capture: 2 x Colossus STB Controller: 1 x USB-UIRT Software:Java 1.7.0_71; SageTV 7.1.9 Clients: 1 x HD300, 2 x HD200, 1 x SageClient, 1 x PlaceShifter Plugins: Too many to list now... |
#218
|
|||
|
|||
Snapshot 692 Ready
More fixes; recommended that users upgrade.
__________________
Twitter: @ddb_db Server: Intel i5-4570 Quad Core, 16GB RAM, 1 x 128GB OS SSD (Win7 Pro x64 SP1), 1 x 2TB media drive Capture: 2 x Colossus STB Controller: 1 x USB-UIRT Software:Java 1.7.0_71; SageTV 7.1.9 Clients: 1 x HD300, 2 x HD200, 1 x SageClient, 1 x PlaceShifter Plugins: Too many to list now... |
#219
|
|||
|
|||
Quote:
Code:
long interval = 30 * 24 * 60 * 60 * 1000L; // 30 days converted to ms |
#220
|
|||
|
|||
Yeah, I know about it, but I always forget to do it and then it's a bug that someone has to discover (usually in an undesirable way). If I'm assigning the value to a long, Java should treat the expression as a long! Or at the very least a compiler warning would be nice. A compiler warning would be enough to make me look at what I'm doing and make the appropriate change (either assign to an int instead or ensure the expression returns a long).
__________________
Twitter: @ddb_db Server: Intel i5-4570 Quad Core, 16GB RAM, 1 x 128GB OS SSD (Win7 Pro x64 SP1), 1 x 2TB media drive Capture: 2 x Colossus STB Controller: 1 x USB-UIRT Software:Java 1.7.0_71; SageTV 7.1.9 Clients: 1 x HD300, 2 x HD200, 1 x SageClient, 1 x PlaceShifter Plugins: Too many to list now... |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Sage Job Queue (SJQ) new release notifications | Slugger | Customization Announcements | 3 | 12-17-2009 09:59 AM |
Plugin: Sage Job Queue (SJQ) | Slugger | SageTV Customizations | 991 | 12-11-2009 03:52 PM |
Sage Job Queue Completed tasks problem | raffmanlt | SageTV Customizations | 2 | 08-18-2009 07:34 PM |
Comskip Monitor VS Sage Job Queue SJQ | personalt | SageTV Customizations | 6 | 03-02-2009 10:27 AM |
Plugin: SJQ v1.1.0RC1 Available - Testers Needed | Slugger | SageTV Customizations | 35 | 04-21-2008 08:12 AM |