I've previously been using uTorrent under Wine running in Virtualbox and sharing it via remote desktop with the household. Horribly inefficient but worked superbly! Now I've got around to setting up rTorrent/ruTorrent and wow - it's amazing! There is one annoying thing that will probably prevent me from using ruTorrent however...
I have a peak/off-peak quota so need the scheduler plugin. Occasionally though I will want to start a single torrent so I can have it immediately. In the old uTorrent setup that would simply mean choosing "Force Start" to make a single torrent start but the others still wait for the scheduler.
Now with ruTorrent, the scheduler overrides any setting I choose manually. That is, if I manually start a torrent, the scheduler will stop it again a short while later, or upon reload of the interface.
I've been looking at the code to think about how this could be implemented. Unfortunately I'm not good enough (or don't have the time to learn) to do it myself but this is how I think it could be done:
Firstly, in scheduler.php remove these lines from the apply() method:
Code:
self::setSpeed( 1, 1 );
...
self::setSpeed( SCH_DEF_UL, 1 );This will stop the scheduler from setting limits when stopped or seeding-only. As far as I can see they aren't needed anyway since everything is being stopped from downloading/uploading.
Add a "Ignore Scheduler" flag to the right click menu of each torrent. This would save the torrent hash into an array in the scheduler.dat file. Unselecting the "Ignore Scheduler" option (or on removal of the torrent) would remove the hash from the array.
In the scheduler.php getActiveTorrents() method, inside the for loop do a check against each torrent hash to see if it is in our "ignore" array, and if it is, don't put it into the seeds/leeches array that is returned from that method.
...and hopefully that's it. I could be completely misreading the code, but I think that should do what I want - allow the scheduler to control every torrent except those marked with the "Ignore Scheduler" flag, which we can then control ourselves manually.
One thing to note is the values in the scheduler's Limited1, Limited2, Limited3 would still be applied - but that could be a good thing.
Also, unrelated - I've noticed the times the scheduler kicks in and out at are 1/2 hour out. That is, if downloads are set to start at 2am, they actually start at 2:30am. Yes, I've checked the time on my server and it appears to be correct.
I have a peak/off-peak quota so need the scheduler plugin. Occasionally though I will want to start a single torrent so I can have it immediately. In the old uTorrent setup that would simply mean choosing "Force Start" to make a single torrent start but the others still wait for the scheduler.
Now with ruTorrent, the scheduler overrides any setting I choose manually. That is, if I manually start a torrent, the scheduler will stop it again a short while later, or upon reload of the interface.
I've been looking at the code to think about how this could be implemented. Unfortunately I'm not good enough (or don't have the time to learn) to do it myself but this is how I think it could be done:
Firstly, in scheduler.php remove these lines from the apply() method:
Code:
self::setSpeed( 1, 1 );
...
self::setSpeed( SCH_DEF_UL, 1 );This will stop the scheduler from setting limits when stopped or seeding-only. As far as I can see they aren't needed anyway since everything is being stopped from downloading/uploading.
Add a "Ignore Scheduler" flag to the right click menu of each torrent. This would save the torrent hash into an array in the scheduler.dat file. Unselecting the "Ignore Scheduler" option (or on removal of the torrent) would remove the hash from the array.
In the scheduler.php getActiveTorrents() method, inside the for loop do a check against each torrent hash to see if it is in our "ignore" array, and if it is, don't put it into the seeds/leeches array that is returned from that method.
...and hopefully that's it. I could be completely misreading the code, but I think that should do what I want - allow the scheduler to control every torrent except those marked with the "Ignore Scheduler" flag, which we can then control ourselves manually.
One thing to note is the values in the scheduler's Limited1, Limited2, Limited3 would still be applied - but that could be a good thing.
Also, unrelated - I've noticed the times the scheduler kicks in and out at are 1/2 hour out. That is, if downloads are set to start at 2am, they actually start at 2:30am. Yes, I've checked the time on my server and it appears to be correct.