Activities of "akaziuka"

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.&lt;TryAddSingletonChecked&gt;b__0(IServiceProvider serviceProvider)
   at Autofac.Extensions.DependencyInjection.AutofacRegistration.&lt;&gt;c__DisplayClass3_0.&lt;Register&gt;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?

Answer

Hi, How do we ensure that the data from many Tenant's databases go to Elasticsearch?

Answer

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!

Showing 1 to 4 of 4 entries
Made with ❤️ on ABP v9.2.0-preview. Updated on January 22, 2025, 10:44