Jump to content

Developing a standalone embystat server


reggi

Recommended Posts

I have this error when I try to map /app instead of /app/Settings


Did you mean to run dotnet SDK commands? Please install dotnet SDK from:
https://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409
Did you mean to run dotnet SDK commands? Please install dotnet SDK from:
https://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409

I'm using unRAID

Link to comment
Share on other sites

reggi

@@kesm

Yeah, for some reason (still unknown to me) you can't mount the /app folder itself. Still searching why that is. But normally the /app/Logs files should be created first thing when the server starts so you should get some errors logs.

 

@@hshah

It is a bit strange that the db file is not increasing in size. Since it write ever movie one by one it should increase slowly. Did you check in your logs if the server is throwing some exceptions?

If not, just wait until it is finished and let's hope it works.

Link to comment
Share on other sites

@@reggi

 

I can successfully launch embyStat by mounting /app/Settings and /app/Logs but got no logs. I also add to manually add nlog.config in order to have my docker running. Do I need to modify something inside it to have my db created?

Currently I put nlog.config in /app/Settings and it is like this : 

<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      autoReload="true">

  <extensions>
    <add assembly="NLog.Web.AspNetCore"/>
    <add assembly="Rollbar.PlugIns.NLog"/>
  </extensions>

  <targets>
    <target xsi:type="File" name="allfile" fileName="Logs\${shortdate}.log"
            layout="${longdate} [${uppercase:${level}}] ${message} ${exception:format=tostring}" />
    <target name="logrollbar" xsi:type="Rollbar.PlugIns.NLog">
      <contextproperty name="Architecture" layout="${environment:PROCESSOR_ARCHITECTURE}" />
      <contextproperty name="OS" layout="${environment:OS}" />
    </target>
  </targets>

  <rules>
    <logger name="Microsoft.*" maxlevel="Info" final="true" />
    <logger name="*" minlevel="Info" writeTo="allfile" />
    <logger name="*" minlevel="Error" writeTo="logrollbar" />
  </rules>
</nlog>
Link to comment
Share on other sites

hshah

I have this error when I try to map /app instead of /app/Settings


Did you mean to run dotnet SDK commands? Please install dotnet SDK from:
https://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409
Did you mean to run dotnet SDK commands? Please install dotnet SDK from:
https://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409

I'm using unRAID

 

I got that initially as well, but I then searched the @docker folder on the NAS to see where the original /app folder had been created.  It has a whole load of dotnet files which weren't being created in my own /app folder.  I copied all of them over to the folder I defined and it started up without the errors you mentioned.

 

 

@@kesm

Yeah, for some reason (still unknown to me) you can't mount the /app folder itself. Still searching why that is. But normally the /app/Logs files should be created first thing when the server starts so you should get some errors logs.

 

@@hshah

It is a bit strange that the db file is not increasing in size. Since it write ever movie one by one it should increase slowly. Did you check in your logs if the server is throwing some exceptions?

If not, just wait until it is finished and let's hope it works.

 

You can mount the /app folder if you do what I mentioned above ;)

 

Funnily enough, it is now increasing and I think I now understand the behaviour I saw.  Whilst the database was cleared when I restarted the sync, it wasn't vacuumed and so remained the size it was.  It has only just started increasing because the sync has got further than it did the first time round.

  • Like 1
Link to comment
Share on other sites

hshah

@@kesm

 

Change:

<target xsi:type="File" name="allfile" fileName="Logs\${shortdate}.log"

To:

<target xsi:type="File" name="allfile" fileName="Logs/${shortdate}.log"

If the \ isn't changed to a /, the log file writes to the /app folder and is called something like Logs%5C2019-04-03.log

Edited by hshah
Link to comment
Share on other sites

reggi

@@kesm

 

You have a weird version of the nlog.config file. Here is the version you will need. (the Rollbar logging is gone in version 34)

<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" autoReload="true">
  <extensions>
    <add assembly="NLog.Web.AspNetCore" />
  </extensions>
  <targets>
    <target xsi:type="File" name="file" fileName="Logs/${shortdate}.log" layout="${longdate} [${uppercase:${level}}] ${message} ${exception:format=tostring}" />
  </targets>
  <rules>
    <logger name="Microsoft.*" maxlevel="Info" final="true" />
    <logger name="*" minlevel="Info" writeTo="file" />
  </rules>
</nlog>

Let me know if the logging starts working.

 

@@hshah

 

Ha good to know you have a solution for this strange behavior! I'm also going to check if I need to make some special docker file for Synology and Unraid hosts

Edited by reggi
Link to comment
Share on other sites

@hshah 

 

I can't find these files, can you share one of the filename? I will search my unraid to find them

 

@@reggi

 

the switch from \ to / did the trick, I now have logs but still no db

2019-04-03 14:08:21.5961 [INFO] SYSTEM	Booting up server on port 5432 
2019-04-03 14:08:25.5996 [INFO] Starting Hangfire Server using job storage: 'Hangfire.MemoryStorage.MemoryStorage' 
2019-04-03 14:08:25.6076 [INFO] Using the following options for Hangfire Server:
    Worker count: 1
    Listening queues: 'main'
    Shutdown timeout: 1.00:00:00
    Schedule polling interval: 00:00:05 
2019-04-03 14:08:25.8513 [INFO] Server main server:1:zzz successfully announced in 210.8052 ms 
2019-04-03 14:08:25.8581 [INFO] Server main server:1:zzz is starting the registered dispatchers: ServerWatchdog, ServerJobCancellationWatcher, ExpirationManager, CountersAggregator, Worker, DelayedJobScheduler, RecurringJobScheduler... 
2019-04-03 14:08:25.8618 [INFO] Server main server:1:zzz all the dispatchers started 
2019-04-03 14:09:39.0857 [INFO] SERVER-API	Starting wizard for user. 
2019-04-03 14:09:39.2741 [INFO] SERVER-API	Emby server found at: 192.168.xx.xxx 
2019-04-03 14:09:52.9056 [INFO] EMBY-CLIENT	Authenticating user xxx on Emby server on http://myembydns:8096 
2019-04-03 14:09:52.9142 [INFO] EMBY-CLIENT	Sending POST: http://myembydns:8096/emby/Users/AuthenticateByName?format=json 
2019-04-03 14:09:56.6534 [INFO] Connecting to ws://myembydns:8096/embywebsocket?api_key=xxx&deviceId=eee
2019-04-03 14:09:56.7313 [INFO] Web socket connection opened. 

Edited by kesm
Link to comment
Share on other sites

hshah

@@kesm, search for "Microsoft.AspNetCore.dll"

 

Also, have you started a sync from the UI?  The DB won't create until then I think.

Edited by hshah
Link to comment
Share on other sites

reggi

@@kesm

 

Thanks for the logs, they seem fine indeed. Because you don't get any errors it seems that the db migrations already ran. Can you update the following line in nlog.config

<logger name="*" minlevel="Info" writeTo="file" /> 

to

<logger name="*" minlevel="Trace" writeTo="file" /> 

This way, you will get a bit more logging and you should see 3 extra DEBUG lines

2019-04-03 14:20:34.7668 [DEBUG] DATABASE-SEEDER	Seeding languages 
2019-04-03 14:20:35.3859 [DEBUG] DATABASE-SEEDER	Seeding Emby status 
2019-04-03 14:20:35.4138 [DEBUG] DATABASE-SEEDER	Seeding job data  

Be aware that your Emby username and url are in the logs you just posted!

Link to comment
Share on other sites

@@reggi

 

Here is a new log after a restart and a smallsync the a complete sync (currently running)

2019-04-03 14:36:41.3732 [INFO] SYSTEM	Booting up server on port 5432 
2019-04-03 14:36:42.6648 [DEBUG] DATABASE-SEEDER	Seeding languages 
2019-04-03 14:36:45.0632 [DEBUG] DATABASE-SEEDER	Seeding Emby status 
2019-04-03 14:36:45.0866 [DEBUG] DATABASE-SEEDER	Seeding job data 
2019-04-03 14:36:45.2986 [INFO] Starting Hangfire Server using job storage: 'Hangfire.MemoryStorage.MemoryStorage' 
2019-04-03 14:36:45.3044 [INFO] Using the following options for Hangfire Server:
    Worker count: 1
    Listening queues: 'main'
    Shutdown timeout: 1.00:00:00
    Schedule polling interval: 00:00:05 
2019-04-03 14:36:45.5459 [INFO] Server main server:zzz successfully announced in 210.3291 ms 
2019-04-03 14:36:45.5527 [INFO] Server main server:zzz is starting the registered dispatchers: ServerWatchdog, ServerJobCancellationWatcher, ExpirationManager, CountersAggregator, Worker, DelayedJobScheduler, RecurringJobScheduler... 
2019-04-03 14:36:45.5571 [INFO] Server main server:zzz all the dispatchers started 
2019-04-03 14:36:46.3077 [INFO] Connecting to ws://myembydns:8096/embywebsocket?api_key=xxx&deviceId=yyyy
2019-04-03 14:36:46.4010 [INFO] Web socket connection opened. 
2019-04-03 14:37:31.0695 [INFO] SMALLEMBYSYNC-JOB	Starting job 
2019-04-03 14:37:31.0891 [INFO] EMBY-CLIENT	Sending GET: http://myembydns:8096/emby/System/Info?format=json 
2019-04-03 14:37:31.1991 [INFO] Received web socket message: Sessions 
2019-04-03 14:37:31.3212 [INFO] SMALLEMBYSYNC-JOB	Server info downloaded 
2019-04-03 14:37:31.3291 [INFO] EMBY-CLIENT	Asking Emby for plugins 
2019-04-03 14:37:31.3295 [INFO] EMBY-CLIENT	Sending GET: http://myembydns:8096/emby/Plugins?format=json 
2019-04-03 14:37:32.2145 [INFO] SMALLEMBYSYNC-JOB	Server plugins downloaded 
2019-04-03 14:37:32.2219 [INFO] EMBY-CLIENT	Sending GET: http://myembydns:8096/emby/Users?format=json 
2019-04-03 14:37:32.6737 [INFO] SMALLEMBYSYNC-JOB	Server users downloaded 
2019-04-03 14:37:32.6805 [INFO] EMBY-CLIENT	Sending GET: http://myembydns:8096/emby/Devices?format=json 
2019-04-03 14:37:33.5722 [INFO] SMALLEMBYSYNC-JOB	Server devices downloaded 
2019-04-03 14:37:34.3072 [INFO] SMALLEMBYSYNC-JOB	Job finished after 1 minute. 
2019-04-03 14:39:04.8213 [INFO] MEDIASYNC-JOB	Starting job 
2019-04-03 14:39:04.8368 [INFO] EMBY-CLIENT	Sending a ping to Emby 
2019-04-03 14:39:04.8411 [INFO] EMBY-CLIENT	Sending POST: http://myembydns:8096/emby/System/Ping?format=json 
2019-04-03 14:39:04.8632 [INFO] MEDIASYNC-JOB	First delete all existing media and root media collections from database so we have a clean start. 
2019-04-03 14:39:14.5533 [INFO] MEDIASYNC-JOB	Asking Emby for all root folders 
2019-04-03 14:39:14.5568 [INFO] EMBY-CLIENT	Sending GET: http://myembydns:8096/emby//Library/MediaFolders?format=json 
2019-04-03 14:39:14.6569 [INFO] Received web socket message: UserUpdated 
2019-04-03 14:39:14.6614 [INFO] Received web socket message: Sessions 
2019-04-03 14:39:14.7813 [INFO] MEDIASYNC-JOB	Found 6 root items, getting ready for processing 
2019-04-03 14:39:14.7957 [INFO] MEDIASYNC-JOB	Lets start processing movies 
2019-04-03 14:39:14.7974 [INFO] MEDIASYNC-JOB	Asking Emby all movies for library Collections (Other) 
2019-04-03 14:39:14.8377 [INFO] EMBY-CLIENT	Sending GET: http://myembydns:8096/emby/Items?sortOrder=Ascending&SeriesStatuses=&fields=Genres,DateCreated,MediaSources,ExternalUrls,OriginalTitle,Studios,MediaStreams,Path,Overview,ProviderIds,SortName,ParentId,People&Filters=&ImageTypes=&AirDays=&EnableImageTypes=Banner,Primary,Thumb,Logo&ParentId=9d7ad6afe9afa2dab1a2f6e00ad28fa6&SortBy=SortName&recursive=True&Genres=&StudioIds=&IncludeItemTypes=Movie&Years=&format=json 
2019-04-03 14:39:14.8838 [INFO] MEDIASYNC-JOB	No movies found for this library. Moving on. 
2019-04-03 14:39:14.8838 [INFO] MEDIASYNC-JOB	Asking Emby all movies for library Livres audio (Other) 
2019-04-03 14:39:14.8847 [INFO] EMBY-CLIENT	Sending GET: http://myembydns:8096/emby/Items?sortOrder=Ascending&SeriesStatuses=&fields=Genres,DateCreated,MediaSources,ExternalUrls,OriginalTitle,Studios,MediaStreams,Path,Overview,ProviderIds,SortName,ParentId,People&Filters=&ImageTypes=&AirDays=&EnableImageTypes=Banner,Primary,Thumb,Logo&ParentId=6d0968315b0c9935993ea3b96ae85383&SortBy=SortName&recursive=True&Genres=&StudioIds=&IncludeItemTypes=Movie&Years=&format=json 
2019-04-03 14:39:14.8967 [INFO] MEDIASYNC-JOB	No movies found for this library. Moving on. 
2019-04-03 14:39:14.8967 [INFO] MEDIASYNC-JOB	Asking Emby all movies for library Movies (Movies) 
2019-04-03 14:39:14.8967 [INFO] EMBY-CLIENT	Sending GET: http://myembydns:8096/emby/Items?sortOrder=Ascending&SeriesStatuses=&fields=Genres,DateCreated,MediaSources,ExternalUrls,OriginalTitle,Studios,MediaStreams,Path,Overview,ProviderIds,SortName,ParentId,People&Filters=&ImageTypes=&AirDays=&EnableImageTypes=Banner,Primary,Thumb,Logo&ParentId=f137a2dd21bbc1b99aa5c0f6bf02a805&SortBy=SortName&recursive=True&Genres=&StudioIds=&IncludeItemTypes=Movie&Years=&format=json 
2019-04-03 14:39:17.3965 [INFO] MEDIASYNC-JOB	We found 933 movies. Ready to add them to the database. 
2019-04-03 14:39:17.4040 [INFO] MEDIASYNC-JOB	Asking Emby for all needed genres. 
2019-04-03 14:39:17.4110 [INFO] EMBY-CLIENT	Sending GET: http://myembydns:8096/emby/Genres?fields=&Filters=&ImageTypes=&EnableImageTypes=&ParentId=f137a2dd21bbc1b99aa5c0f6bf02a805&UserId=&recursive=True&format=json 
2019-04-03 14:39:17.4541 [INFO] MEDIASYNC-JOB	No new genres to add 
2019-04-03 14:39:17.4600 [INFO] MEDIASYNC-JOB	Asking Emby for all needed people. 
2019-04-03 14:39:17.4637 [INFO] EMBY-CLIENT	Sending GET: http://myembydns:8096/emby/Persons?fields=&Filters=&ImageTypes=&EnableImageTypes=&ParentId=f137a2dd21bbc1b99aa5c0f6bf02a805&UserId=&recursive=True&format=json 
2019-04-03 14:39:57.3720 [INFO] MEDIASYNC-JOB	No new people to add 
2019-04-03 14:39:57.3770 [INFO] MEDIASYNC-JOB	Processing movie (1/933) xxx
  • Like 1
Link to comment
Share on other sites

reggi

Oke, that's some good news that it is working for now! Don't forget to go back to Info logging.

 

I still have no idea why Unraid removes the full container every time I push a new container to the hub. Seems like some kind of configuration on Unraid maybe.

Bacause the app itself needs to update, not the full docker container.

 

I'll try to make some time to setup an unraid machine on some old hardware here and see what I can do.

  • Like 1
Link to comment
Share on other sites

hshah

@@hshah yes but if update my docker image I'm back to the wizard and need to setup everything again

 

If you search for that file I mentioned earlier, you should be able to find the original /app directory and backup the database :)

  • Like 1
Link to comment
Share on other sites

Found the file, copy all of them in my  /app mounted folder and edit my docker settings to mount /app instead of /app/Settings but now I have this error : 

2019-04-03 16:30:53.8546 [ERROR] Connection id "0HLLO82LUEHN0", Request id "0HLLO82LUEHN0:00000001": An unhandled exception was thrown by the application. System.Exception: The included internal exception processed by the Rollbar middleware ---> System.InvalidOperationException: The SPA default page middleware could not return the default page '/index.html' because it was not found, and no other middleware handled the request.
Your application is running in Production mode, so make sure it has been published, or that you have built your SPA manually. Alternatively you may wish to switch to the Development environment.

   at Microsoft.AspNetCore.SpaServices.SpaDefaultPageMiddleware.<>c__DisplayClass0_0.<Attach>b__1(HttpContext context, Func`1 next)
   at Microsoft.AspNetCore.Routing.EndpointMiddleware.Invoke(HttpContext httpContext)
   at Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware.Invoke(HttpContext httpContext)
   at Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware.Invoke(HttpContext context)
   at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
   at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
   at Microsoft.AspNetCore.Builder.RouterMiddleware.Invoke(HttpContext httpContext)
   at Rollbar.NetCore.AspNet.RollbarMiddleware.Invoke(HttpContext context)
   --- End of inner exception stack trace ---
   at Rollbar.NetCore.AspNet.RollbarMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application)

Edited by kesm
  • Like 1
Link to comment
Share on other sites

adrianwi

It's certainly moved on well since I last checked things out, so well played!

 

I still think it's too focused on media content rather than usage, but I know that's something you've said will be added.

 

Check out the Playback Reporting plugin in emby, which I discovered recently, and provided some details around this.

 

Still some way off PlexPy, or Tautulli as it's now called, but heading in the right direction.

 

Please keep going...

  • Like 1
Link to comment
Share on other sites

reggi

Yeah, still have a looooong way to go and development is going slower then expected as well.

 

But i'm trying to make EmbyStat as usefull as possible for everyone.

 

If you look at the users page you will find the first implementation of the usage stats as well, I'm saving all view sessions at the moment so generating usage statistics is the next step on the roadmap.

I had a look at the usage statistics plugin and it is a very good source for inspiration :D 

 

Thanks for your feedback and patients!

Link to comment
Share on other sites

hshah

Found the file, copy all of them in my  /app mounted folder and edit my docker settings to mount /app instead of /app/Settings but now I have this error : 

 

2019-04-03 16:30:53.8546 [ERROR] Connection id "0HLLO82LUEHN0", Request id "0HLLO82LUEHN0:00000001": An unhandled exception was thrown by the application. System.Exception: The included internal exception processed by the Rollbar middleware ---> System.InvalidOperationException: The SPA default page middleware could not return the default page '/index.html' because it was not found, and no other middleware handled the request.Your application is running in Production mode, so make sure it has been published, or that you have built your SPA manually. Alternatively you may wish to switch to the Development environment.   at Microsoft.AspNetCore.SpaServices.SpaDefaultPageMiddleware.<>c__DisplayClass0_0.b__1(HttpContext context, Func`1 next)   at Microsoft.AspNetCore.Routing.EndpointMiddleware.Invoke(HttpContext httpContext)   at Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware.Invoke(HttpContext httpContext)   at Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware.Invoke(HttpContext context)   at Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware.Invoke(HttpContext context)   at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)   at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)   at Microsoft.AspNetCore.Builder.RouterMiddleware.Invoke(HttpContext httpContext)   at Rollbar.NetCore.AspNet.RollbarMiddleware.Invoke(HttpContext context)   --- End of inner exception stack trace ---   at Rollbar.NetCore.AspNet.RollbarMiddleware.Invoke(HttpContext context)   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application)

Did you copy everything that was in the /app folder? There are hundreds of files in both the root of /app and other subdirectories.

 

Also did you make sure that the file/folder permissions were appropriate for the container user?

Link to comment
Share on other sites

DRAGUNSLAYER


2019-04-04 00:55:26 [WRN] Web socket connection closed.
2019-04-04 00:55:26 [INF] SMALLEMBYSYNC-JOB	Server users downloaded
2019-04-04 00:55:26 [INF] EMBY-CLIENT	Sending GET: https://some.domain:443/emby/Devices?format=json
2019-04-04 00:55:27 [ERR] Error while running job
Microsoft.EntityFrameworkCore.DbUpdateException: An error occurred while updating the entries. See the inner exception for details. ---> Microsoft.Data.Sqlite.SqliteException: SQLite Error 19: 'FOREIGN KEY constraint failed'.
   at Microsoft.Data.Sqlite.SqliteException.ThrowExceptionForRC(Int32 rc, sqlite3 db)
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken)
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteDbDataReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.ExecuteAsync(IRelationalConnection connection, DbCommandMethod executeMethod, IReadOnlyDictionary`2 parameterValues, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(DbContext _, ValueTuple`2 parameters, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(IReadOnlyList`1 entriesToSave, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.DbContext.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
   at EmbyStat.Repositories.EmbyRepository.AddOrUpdateDevices(IEnumerable`1 devices) in /EmbyStat.Repositories/EmbyRepository.cs:line 220
   at EmbyStat.Services.EmbyService.GetAndProcessDevices(String embyAddress, String accessToken) in /EmbyStat.Services/EmbyService.cs:line 247
   at EmbyStat.Jobs.Jobs.Sync.SmallSyncJob.RunJob() in /EmbyStat.Jobs/Jobs/Sync/SmallSyncJob.cs:line 41
   at EmbyStat.Jobs.BaseJob.Execute() in /EmbyStat.Jobs/BaseJob.cs:line 44
2019-04-04 00:55:27 [ERR] SMALLEMBYSYNC-JOB	Job failed, check logs for more info.
2019-04-04 00:55:27 [WRN] Failed to process the job 'f3ab72c4-a5c4-4355-91fe-6768436605b8': an exception occurred. Retry attempt 1 of 2 will be performed in 00:00:32.
Microsoft.EntityFrameworkCore.DbUpdateException: An error occurred while updating the entries. See the inner exception for details. ---> Microsoft.Data.Sqlite.SqliteException: SQLite Error 19: 'FOREIGN KEY constraint failed'.
   at Microsoft.Data.Sqlite.SqliteException.ThrowExceptionForRC(Int32 rc, sqlite3 db)
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken)
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteDbDataReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.ExecuteAsync(IRelationalConnection connection, DbCommandMethod executeMethod, IReadOnlyDictionary`2 parameterValues, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(DbContext _, ValueTuple`2 parameters, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(IReadOnlyList`1 entriesToSave, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.DbContext.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
   at EmbyStat.Repositories.EmbyRepository.AddOrUpdateDevices(IEnumerable`1 devices) in /EmbyStat.Repositories/EmbyRepository.cs:line 220
   at EmbyStat.Services.EmbyService.GetAndProcessDevices(String embyAddress, String accessToken) in /EmbyStat.Services/EmbyService.cs:line 247
   at EmbyStat.Jobs.Jobs.Sync.SmallSyncJob.RunJob() in /EmbyStat.Jobs/Jobs/Sync/SmallSyncJob.cs:line 41
   at EmbyStat.Jobs.BaseJob.Execute() in /EmbyStat.Jobs/BaseJob.cs:line 44
   at EmbyStat.Jobs.BaseJob.Execute() in /EmbyStat.Jobs/BaseJob.cs:line 55
2019-04-04 00:55:31 [INF] Connecting to wss://some.domain.tv:443/embywebsocket?api_key=af8778e76f864dd8973165ff68d20035&deviceId=42f1045a-6075-486f-a324-a4a21f02ee9a
2019-04-04 00:55:31 [WRN] Web socket connection closed.

SMall sync fails everytime for me. Using docker on ubuntu 16.04.

 

Edit:

EmbyStat version: 0.1.0-beta.33 

Operating system: debian x64 9

Edited by DRAGUNSLAYER
Link to comment
Share on other sites

hshah

@@DRAGUNSLAYER - thought I would test on mine to see if it is a common issue.  Seems to work fine on a Synology NAS running Docker :)

2019-04-04 01:53:06.8983 [INFO] SMALLEMBYSYNC-JOB	Starting job 
2019-04-04 01:53:06.9956 [INFO] EMBY-CLIENT	Sending GET: http://192.168.1.3:8096/emby/System/Info?format=json 
2019-04-04 01:53:07.0195 [INFO] Received web socket message: Sessions 
2019-04-04 01:53:07.2925 [INFO] SMALLEMBYSYNC-JOB	Server info downloaded 
2019-04-04 01:53:07.2945 [INFO] EMBY-CLIENT	Asking Emby for plugins 
2019-04-04 01:53:07.2945 [INFO] EMBY-CLIENT	Sending GET: http://192.168.1.3:8096/emby/Plugins?format=json 
2019-04-04 01:53:07.7565 [INFO] SMALLEMBYSYNC-JOB	Server plugins downloaded 
2019-04-04 01:53:07.7682 [INFO] EMBY-CLIENT	Sending GET: http://192.168.1.3:8096/emby/Users?format=json 
2019-04-04 01:53:08.4075 [INFO] SMALLEMBYSYNC-JOB	Server users downloaded 
2019-04-04 01:53:08.4170 [INFO] EMBY-CLIENT	Sending GET: http://192.168.1.3:8096/emby/Devices?format=json 
2019-04-04 01:53:08.7295 [INFO] SMALLEMBYSYNC-JOB	Server devices downloaded 
2019-04-04 01:53:08.7754 [INFO] SMALLEMBYSYNC-JOB	Job finished after 1 minute. 
  • Like 1
Link to comment
Share on other sites

Did you copy everything that was in the /app folder? There are hundreds of files in both the root of /app and other subdirectories.

 

Also did you make sure that the file/folder permissions were appropriate for the container user?

-R was missing during my copy, after a copy of all subfolder everything works, even after an update of the docker image. Thanks for your time!

Link to comment
Share on other sites

reggi

@DRAGUNSLAYER

 

Mmmm, looks like a bug to me. Did you recently remove a user?

The only way I can see this exception is possible is when you have devices on your Emby server linked to users who no longer exists. Ofcourse, this should not fail the sync!

 

@kesm 

Glad to hear it is working now! I will still need to find a solution for your problem. 

Link to comment
Share on other sites

mgworek

-R was missing during my copy, after a copy of all subfolder everything works, even after an update of the docker image. Thanks for your time!

 

 

 @@kesm could you take a screen shot of your docker config in unraid for this? It used to run fine for me, then broke, then worked again but I kept getting errors in the gui when I tried to do anything. and now after this update, it runs but gui doesn't work. Here is what I currently have. I tried to map the logs and settings but it didn't help so removed them.

 

Thanks

post-9074-0-65521400-1554384229_thumb.png

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...