However, an attempt to login results in an HTTP 400 error message (see the screenshot attached
hi
Please share the full logs of backend app. Thanks
Here's the log from the running container (Web API) when the error occurs, as well as the log from the app's Log directory: https://1drv.ms/f/s!AtmlF7r3uFNtj7JwiEaFzXQsr09StA?e=pfZkqt
It helped. Thanks.
I have re-implemented Hangfire manually
Can you share your code?
Maybe you should move some code to
DbMigrator
module.
I can share the code. How do I send it?
hi
Can you try https://github.com/abpframework/abp/issues/11069 ?
Hello, I have re-implemented Hangfire manually, as the documentation suggested, and I can even see the dashboard running. However, the DbMigrator exits with the following error:
Unhandled exception. Volo.Abp.AbpInitializationException: An error occurred during the initialize Volo.Abp.Modularity.OnApplicationInitializationModuleLifecycleContributor phase of the module Volo.Abp.Hangfire.AbpHangfireModule, Volo.Abp.HangFire, Version=6.0.1.0, Culture=neutral, PublicKeyToken=null: An exception was thrown while activating λ:Volo.Abp.Hangfire.AbpHangfireBackgroundJobServer -> λ:Hangfire.JobStorage.. See the inner exception for details.
---> Autofac.Core.DependencyResolutionException: An exception was thrown while activating λ:Volo.Abp.Hangfire.AbpHangfireBackgroundJobServer -> λ:Hangfire.JobStorage.
---> System.InvalidOperationException: JobStorage.Current property value has not been initialized. You must set it before using Hangfire Client or Server API.
at Hangfire.JobStorage.get_Current()
at Hangfire.HangfireServiceCollectionExtensions.<>c.<AddHangfire>b__1_0(IServiceProvider _)
at Hangfire.HangfireServiceCollectionExtensions.<>c__DisplayClass13_0`1.<TryAddSingletonChecked>b__0(IServiceProvider serviceProvider)
at Autofac.Extensions.DependencyInjection.AutofacRegistration.<>c__DisplayClass3_0.<Register>b__0(IComponentContext context, IEnumerable`1 parameters)
...
I'm not sure what JobStorage
does it require. I'm using PostgresSQL as a database server, and I can see Hangfire has created a separate schema in the database to host its data. Any clues on what can it be?
Also, please suggest what's the proper place in the solution to implement Hangfire logic/jobs?
Hi, How do we ensure that the data from many Tenant's databases go to Elasticsearch?
Hi,
Why not create a reporting service(module), it has a separate database or NoSQL database, like Elasticsearch? in this way you don't have to query hundreds of tenant databases to get reports.
About performance,
You can create a background worker to generate reports periodically, when you query, it's ready immediately. (not used for real-time reporting)
Hi! Could you elaborate on the first option, please? I didn't quite get how we benefit from the separate service + database (or ElasticSearch service). Do you have any useful links/references that may help us clarify this approach? Thanks!