39 lines
932 B
C#
39 lines
932 B
C#
|
using MediaBrowser.Controller.Plugins;
|
|||
|
using System;
|
|||
|
using System.Threading;
|
|||
|
|
|||
|
namespace MediaBrowser.ServerApplication.EntryPoints
|
|||
|
{
|
|||
|
public class ResourceEntryPoint : IServerEntryPoint
|
|||
|
{
|
|||
|
private Timer _timer;
|
|||
|
|
|||
|
public void Run()
|
|||
|
{
|
|||
|
_timer = new Timer(TimerCallback, null, TimeSpan.FromMinutes(1), TimeSpan.FromMinutes(30));
|
|||
|
}
|
|||
|
|
|||
|
private void TimerCallback(object state)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
// Bad practice, i know. But we keep a lot in memory, unfortunately.
|
|||
|
GC.Collect(2, GCCollectionMode.Forced, true);
|
|||
|
GC.Collect(2, GCCollectionMode.Forced, true);
|
|||
|
}
|
|||
|
catch
|
|||
|
{
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public void Dispose()
|
|||
|
{
|
|||
|
if (_timer != null)
|
|||
|
{
|
|||
|
_timer.Dispose();
|
|||
|
_timer = null;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|