4 Efficient on demand post processing
hugepants edited this page 2015-04-13 12:32:14 +01:00

A PVR app needs to know when a download is ready for post-processing. There are two methods:

  1. On-demand post-processing script (e.g. sabToSickBeard.py or nzbToMedia.py). A script in the downloader runs once at the end of the download job and notifies the PVR app that the download is complete.
  2. Continuous folder scanning The PVR app frequently polls download folder(s) for completed downloads.

On-demand is superior, for several reasons:

  • The PVR app is notified only once, exactly when the download is ready for post-processing
  • The PVR app does not have to wait for the next poll interval before it starts processing
  • Continuous polling is not as efficient and is more stressful on low performance hardware
  • Continuously polling a folder for changes can prevent the drive from going to sleep
  • Continuous polling may encounter file access/permissions issues
  • Continuous polling may miss a folder change, causing the PVR app to wait forever
  • An on-demand post-processing script is able to utilize additional functionality such as ffprobe media checking to test for bad video files.
  • On-demand scripts can be tweaked to allow for delays with slow hardware

nzbToMedia is an on-demand post-processing script and was created out of a demand for more efficient post-processing on low-performance hardware. Many features have been added so higher performance hardware can benefit too.

Many issues that users have with folder scanning can be fixed by switching to on-demand. A whole class of support issues can be eliminated by using nzbToMedia.