Jump to content

Developing a standalone embystat server


reggi

Recommended Posts

I created some new icons for the Unraid folks.0561567066d5957e6343a70df2839da0.jpg

 

 

Did i miss a post on how to use them? That's what I was hoping it meant. I started fresh and was still just getting the question park. 

Link to comment
Share on other sites

I found this thread when the statistics plugin stopped working and I read the notice saying it had been deprecated. Oh well.... bit annoying as I used it for one main purpose which was to check which TV series were complete vs. non complete so I could search for new seasons. But I support you trying to build something bigger and better, and it's not as if I'd ever paid anything for the plugin :-)

 

So, has anyone got this working on a Synology NAS? I can see that there is a docker image but I have zero experience with docker and before I start trying to mess around with it, it would be nice to know if it is definitely possible or not.

 

Thanks!

Link to comment
Share on other sites

redaktorn

I found this thread when the statistics plugin stopped working and I read the notice saying it had been deprecated. Oh well.... bit annoying as I used it for one main purpose which was to check which TV series were complete vs. non complete so I could search for new seasons. But I support you trying to build something bigger and better, and it's not as if I'd ever paid anything for the plugin :-)

 

So, has anyone got this working on a Synology NAS? I can see that there is a docker image but I have zero experience with docker and before I start trying to mess around with it, it would be nice to know if it is definitely possible or not.

 

Thanks!

 

mtjj,

 

I agree with you that I was using the old version built into Emby server mainly to check what was missing.

And like you I found this topic.

 

But the thing with this "new" Embystat is that you do not need to install it in your Embyserver or Nas.

Actually you might prefer to install it in another machine (PC) where you normally handle your recordings and downloads.

Myself I have this new version installed in a Win10 PC that I use for recordings and downloads.

(When installing it, you fill in the info needed to login to your Embyserver)

 

I think it is "kind of smart" to not have it in the Embyserver.

Only thing that disturbs me is that "consol window" that opens in Windows when running the program.

Hope we get a version in the future which can run without that.

Link to comment
Share on other sites

WilhelmStroker

You can use nssm to run the exe as a service so you don't have the console window. That's what I do, and that works without issues.

  • Like 1
Link to comment
Share on other sites

redaktorn

You can use nssm to run the exe as a service so you don't have the console window. That's what I do, and that works without issues.

 

Thanks,

 

I will consider it. However there are some security issues with using nssm:

https://www.file.net/process/nssm.exe.html

And also running Embystat as a permanent service is draining some power from the PC.

(Which is not the best for a computer that I use for downloads and editing of movie files) 

 

I would prefer a program I can start and end "the normal way".

Link to comment
Share on other sites

mtjj,

 

I agree with you that I was using the old version built into Emby server mainly to check what was missing.

And like you I found this topic.

 

But the thing with this "new" Embystat is that you do not need to install it in your Embyserver or Nas.

Actually you might prefer to install it in another machine (PC) where you normally handle your recordings and downloads.

Myself I have this new version installed in a Win10 PC that I use for recordings and downloads.

(When installing it, you fill in the info needed to login to your Embyserver)

 

I think it is "kind of smart" to not have it in the Embyserver.

Only thing that disturbs me is that "consol window" that opens in Windows when running the program.

Hope we get a version in the future which can run without that.

 

Ah! That's very useful @@redaktorn, I'd assumed it had to be run on the server. But actually running on a different PC is better because it keeps the server clean. Thanks for pointing that out :-)

Link to comment
Share on other sites

@@reggi i had a clen install but removed the embystst folder and unzipped again

 

after first run it ask for update which i did

 

but media sync still not working

 

 

00:52:01 17-08-19 JOB CONTROLLER => DATABASE CLEANUP-JOB job queued
00:52:12 17-08-19 DATABASE CLEANUP-JOB => Starting job
00:52:12 17-08-19 DATABASE CLEANUP-JOB => Removed old statistic results.
00:52:12 17-08-19 DATABASE CLEANUP-JOB => Job finished after 1 minute.
00:52:16 17-08-19 JOB CONTROLLER => MEDIASYNC-JOB job queued
00:52:27 17-08-19 MEDIASYNC-JOB => Starting job
00:52:27 17-08-19 MEDIASYNC-JOB => First delete all existing media and root media libraries from database so we have a clean start.
00:52:27 17-08-19 MEDIASYNC-JOB => Asking Emby for all root folders
00:52:27 17-08-19 MEDIASYNC-JOB => Found 18 root items, getting ready for processing
00:52:27 17-08-19 MEDIASYNC-JOB => Lets start processing movies
00:52:27 17-08-19 MEDIASYNC-JOB => Job failed, check logs for more info.

 

this a the log file

 

2019-08-17 00:52:12.0569 [iNFO] DATABASE CLEANUP-JOB    Starting job
2019-08-17 00:52:12.0569 [iNFO] DATABASE CLEANUP-JOB    Removed old statistic results.
2019-08-17 00:52:12.0730 [iNFO] DATABASE CLEANUP-JOB    Job finished after 1 minute.
2019-08-17 00:52:27.0819 [iNFO] MEDIASYNC-JOB    Starting job
2019-08-17 00:52:27.0896 [iNFO] EMBY-CLIENT    Sending a ping to Emby
2019-08-17 00:52:27.0896 [iNFO] EMBY-CLIENT    Sending POST: http://10.0.126.2:8096/System/Ping?format=json
2019-08-17 00:52:27.0896 [iNFO] MEDIASYNC-JOB    First delete all existing media and root media libraries from database so we have a clean start.
2019-08-17 00:52:27.1119 [iNFO] MEDIASYNC-JOB    Asking Emby for all root folders
2019-08-17 00:52:27.1193 [iNFO] EMBY-CLIENT    Sending GET: http://10.0.126.2:8096/emby//Library/MediaFolders?format=json
2019-08-17 00:52:27.1403 [iNFO] MEDIASYNC-JOB    Found 18 root items, getting ready for processing
2019-08-17 00:52:27.1403 [iNFO] MEDIASYNC-JOB    Lets start processing movies
2019-08-17 00:52:27.1708 [ERROR] Error while running job System.ArgumentNullException: Value cannot be null.
Parameter name: source
   at System.Linq.Enumerable.Any[TSource](IEnumerable`1 source, Func`2 predicate)
   at System.Linq.Enumerable.WhereListIterator`1.ToList()
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at EmbyStat.Jobs.Jobs.Sync.MediaSyncJob.ProcessMoviesAsync(IReadOnlyList`1 libraries, CancellationToken cancellationToken)
   at EmbyStat.Jobs.Jobs.Sync.MediaSyncJob.RunJobAsync() in d:\a\1\s\EmbyStat.Jobs\Jobs\Sync\MediaSyncJob.cs:line 88
   at EmbyStat.Jobs.BaseJob.Execute() in d:\a\1\s\EmbyStat.Jobs\BaseJob.cs:line 54
2019-08-17 00:52:27.1708 [ERROR] MEDIASYNC-JOB    Job failed, check logs for more info.
2019-08-17 00:52:27.1921 [WARN] Failed to process the job '833be794-46f5-4b75-a4d9-6a462639e367': an exception occurred. Retry attempt 1 of 2 will be performed in 00:00:43. System.ArgumentNullException: Value cannot be null.
Parameter name: source
   at System.Linq.Enumerable.Any[TSource](IEnumerable`1 source, Func`2 predicate)
   at System.Linq.Enumerable.WhereListIterator`1.ToList()
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at EmbyStat.Jobs.Jobs.Sync.MediaSyncJob.ProcessMoviesAsync(IReadOnlyList`1 libraries, CancellationToken cancellationToken)
   at EmbyStat.Jobs.Jobs.Sync.MediaSyncJob.RunJobAsync() in d:\a\1\s\EmbyStat.Jobs\Jobs\Sync\MediaSyncJob.cs:line 88
   at EmbyStat.Jobs.BaseJob.Execute() in d:\a\1\s\EmbyStat.Jobs\BaseJob.cs:line 54
   at EmbyStat.Jobs.BaseJob.Execute() in d:\a\1\s\EmbyStat.Jobs\BaseJob.cs:line 66
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
2019-08-17 00:53:12.2086 [iNFO] MEDIASYNC-JOB    Starting job
2019-08-17 00:53:12.2139 [iNFO] EMBY-CLIENT    Sending a ping to Emby
2019-08-17 00:53:12.2139 [iNFO] EMBY-CLIENT    Sending POST: http://10.0.126.2:8096/System/Ping?format=json
2019-08-17 00:53:12.2139 [iNFO] MEDIASYNC-JOB    First delete all existing media and root media libraries from database so we have a clean start.
2019-08-17 00:53:12.2295 [iNFO] MEDIASYNC-JOB    Asking Emby for all root folders
2019-08-17 00:53:12.2295 [iNFO] EMBY-CLIENT    Sending GET: http://10.0.126.2:8096/emby//Library/MediaFolders?format=json
2019-08-17 00:53:12.2491 [iNFO] MEDIASYNC-JOB    Found 18 root items, getting ready for processing
2019-08-17 00:53:12.2491 [iNFO] MEDIASYNC-JOB    Lets start processing movies
2019-08-17 00:53:12.2762 [ERROR] Error while running job System.ArgumentNullException: Value cannot be null.
Parameter name: source
   at System.Linq.Enumerable.Any[TSource](IEnumerable`1 source, Func`2 predicate)
   at System.Linq.Enumerable.WhereListIterator`1.ToList()
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at EmbyStat.Jobs.Jobs.Sync.MediaSyncJob.ProcessMoviesAsync(IReadOnlyList`1 libraries, CancellationToken cancellationToken)
   at EmbyStat.Jobs.Jobs.Sync.MediaSyncJob.RunJobAsync() in d:\a\1\s\EmbyStat.Jobs\Jobs\Sync\MediaSyncJob.cs:line 88
   at EmbyStat.Jobs.BaseJob.Execute() in d:\a\1\s\EmbyStat.Jobs\BaseJob.cs:line 54
2019-08-17 00:53:12.2762 [ERROR] MEDIASYNC-JOB    Job failed, check logs for more info.
2019-08-17 00:53:12.2762 [WARN] Failed to process the job '833be794-46f5-4b75-a4d9-6a462639e367': an exception occurred. Retry attempt 2 of 2 will be performed in 00:00:40. System.ArgumentNullException: Value cannot be null.
Parameter name: source
   at System.Linq.Enumerable.Any[TSource](IEnumerable`1 source, Func`2 predicate)
   at System.Linq.Enumerable.WhereListIterator`1.ToList()
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at EmbyStat.Jobs.Jobs.Sync.MediaSyncJob.ProcessMoviesAsync(IReadOnlyList`1 libraries, CancellationToken cancellationToken)
   at EmbyStat.Jobs.Jobs.Sync.MediaSyncJob.RunJobAsync() in d:\a\1\s\EmbyStat.Jobs\Jobs\Sync\MediaSyncJob.cs:line 88
   at EmbyStat.Jobs.BaseJob.Execute() in d:\a\1\s\EmbyStat.Jobs\BaseJob.cs:line 54
   at EmbyStat.Jobs.BaseJob.Execute() in d:\a\1\s\EmbyStat.Jobs\BaseJob.cs:line 66
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
2019-08-17 00:53:57.2960 [iNFO] MEDIASYNC-JOB    Starting job
2019-08-17 00:53:57.2960 [iNFO] EMBY-CLIENT    Sending a ping to Emby
2019-08-17 00:53:57.3108 [iNFO] EMBY-CLIENT    Sending POST: http://10.0.126.2:8096/System/Ping?format=json
2019-08-17 00:53:57.3108 [iNFO] MEDIASYNC-JOB    First delete all existing media and root media libraries from database so we have a clean start.
2019-08-17 00:53:57.3261 [iNFO] MEDIASYNC-JOB    Asking Emby for all root folders
2019-08-17 00:53:57.3261 [iNFO] EMBY-CLIENT    Sending GET: http://10.0.126.2:8096/emby//Library/MediaFolders?format=json
2019-08-17 00:53:57.3540 [iNFO] MEDIASYNC-JOB    Found 18 root items, getting ready for processing
2019-08-17 00:53:57.3540 [iNFO] MEDIASYNC-JOB    Lets start processing movies
2019-08-17 00:53:57.3540 [ERROR] Error while running job System.ArgumentNullException: Value cannot be null.
Parameter name: source
   at System.Linq.Enumerable.Any[TSource](IEnumerable`1 source, Func`2 predicate)
   at System.Linq.Enumerable.WhereListIterator`1.ToList()
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at EmbyStat.Jobs.Jobs.Sync.MediaSyncJob.ProcessMoviesAsync(IReadOnlyList`1 libraries, CancellationToken cancellationToken)
   at EmbyStat.Jobs.Jobs.Sync.MediaSyncJob.RunJobAsync() in d:\a\1\s\EmbyStat.Jobs\Jobs\Sync\MediaSyncJob.cs:line 88
   at EmbyStat.Jobs.BaseJob.Execute() in d:\a\1\s\EmbyStat.Jobs\BaseJob.cs:line 54
2019-08-17 00:53:57.3540 [ERROR] MEDIASYNC-JOB    Job failed, check logs for more info.
2019-08-17 00:53:57.3753 [ERROR] Failed to process the job '833be794-46f5-4b75-a4d9-6a462639e367': an exception occurred. System.ArgumentNullException: Value cannot be null.
Parameter name: source
   at System.Linq.Enumerable.Any[TSource](IEnumerable`1 source, Func`2 predicate)
   at System.Linq.Enumerable.WhereListIterator`1.ToList()
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at EmbyStat.Jobs.Jobs.Sync.MediaSyncJob.ProcessMoviesAsync(IReadOnlyList`1 libraries, CancellationToken cancellationToken)
   at EmbyStat.Jobs.Jobs.Sync.MediaSyncJob.RunJobAsync() in d:\a\1\s\EmbyStat.Jobs\Jobs\Sync\MediaSyncJob.cs:line 88
   at EmbyStat.Jobs.BaseJob.Execute() in d:\a\1\s\EmbyStat.Jobs\BaseJob.cs:line 54
   at EmbyStat.Jobs.BaseJob.Execute() in d:\a\1\s\EmbyStat.Jobs\BaseJob.cs:line 66
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
2019-08-17 00:55:12.3946 [iNFO] EMBY-CLIENT    Sending a ping to Emby
2019-08-17 00:55:12.3946 [iNFO] EMBY-CLIENT    Sending POST: http://10.0.126.2:8096/System/Ping?format=json
 
Edited by AYEHAN
Link to comment
Share on other sites

Try with the latest release :)

And then Try unzipping that again, but right click the zip file, and chose properties.

Then at the bottem click "I Trust this" and try again :)

Link to comment
Share on other sites

Try with the latest release :)

And then Try unzipping that again, but right click the zip file, and chose properties.

Then at the bottem click "I Trust this" and try again :)

 

i trust this can not be found .. tought i deleted everything, downloaded and extracted again and run EmbyStat.exe as Administrator

 

its working for now. tough 0-85% in just a minute or 2 includes TV Shows and now its calculating movies and last time it took 9hours :P

 

lets see this time

Link to comment
Share on other sites

i'm preparing a small update soon to update the docker images. It should fix the problem with the nlog.config file missing when setting a mount point on creation.

It seems that you can't mount a folder when there is content in it. So I just added an empty config folder and move all files into the folder when the server boots for the first time. Let's hope that fixed the problem!

 

 

@@bozrdnag, template can be found here => https://github.com/mregni/EmbyStat/tree/develop/Templates/unraid, feel free to test the template and let me know if something is not working!

 

@@AYEHAN, I hope it's not taking 9 hours anymore on this release :)

Link to comment
Share on other sites

Thanks,

 

I will consider it. However there are some security issues with using nssm:

https://www.file.net/process/nssm.exe.html

And also running Embystat as a permanent service is draining some power from the PC.

(Which is not the best for a computer that I use for downloads and editing of movie files) 

 

I would prefer a program I can start and end "the normal way".

 

I have to wait for .NET CORE 3.0 to be released so I can build a service package as well as a version that can run without the console open. 

The release is scheduled for september 2019, but after that I have to migrate everything to verion 3.0 as well. 

Link to comment
Share on other sites

Happy2Play

@@reggi i hoped that too but unfortunately in 26hours its just 1.9% only

 

from 85% to 86.9% in 26hours

I would be looking at the logs then as 30TB only takes about 2 minutes 30 seconds for me.

  • Like 1
Link to comment
Share on other sites

@@reggi i hoped that too but unfortunately in 26hours its just 1.9% only

 

from 85% to 86.9% in 26hours

 

@@AYEHAN, can you send me some logs? There are two options, your connection to tvdb is slow or you have like a billion shows on your Emby server :)

Link to comment
Share on other sites

I would love the capability to have a read only dashboard that I can give to my users to access this remotely.

I use nginx and dns records to publish links to emby and other stuff remotely on the internet and would love to have a read only view I can also publish - maybe just as a different endpoint to the dashboard only.

Just a nice to have - I dont want to redirect dev resources from the main enhancements tho.

Link to comment
Share on other sites

I would love the capability to have a read only dashboard that I can give to my users to access this remotely.

I use nginx and dns records to publish links to emby and other stuff remotely on the internet and would love to have a read only view I can also publish - maybe just as a different endpoint to the dashboard only.

Just a nice to have - I dont want to redirect dev resources from the main enhancements tho.

 

Sounds like a good idea indeed! Best thing is to create a feature request on https://embystat.featureupvote.com/ 

Otherwise I will loose track of the request :)

Link to comment
Share on other sites

mmm, for some reason your install is waiting 3 hours before querying a new person from Emby.

Can you tell me what OS, Emby version and docker tag (if using docker) you are using?

Link to comment
Share on other sites

mmm, for some reason your install is waiting 3 hours before querying a new person from Emby.

Can you tell me what OS, Emby version and docker tag (if using docker) you are using?

 

windows 10 x64

Emby 4.2.1.0

 

if you need i can give you access to both Emby and EmbyStats

Edited by AYEHAN
Link to comment
Share on other sites

also its good to see the missing episodes in stat page of Shows

 

like which episode of the show name is missing, its just says Missing Episode 10

  • Like 1
Link to comment
Share on other sites

also its good to see the missing episodes in stat page of Shows

 

like which episode of the show name is missing, its just says Missing Episode 10

 

That would be a nice feature indeed. I created a issue for this on GitHub https://github.com/mregni/EmbyStat/issues/911 and I'm working on a solution for this. Maybe it will be included in beta.11 but probably beta.12 if it takes to much time.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...