Comments (12)
Thanks for all the details! I've run into this before so I know where it's happening but will need to figure out why....
Could you share the general shape of your PurchaseCreatedEvent
? (just the method signatures)
Also:
- is the
PurchaseCreatedEvent
in the same project as your web or executable project? - if not, what type of project is it (.NET Standard 2.0?, etc.)
from coravel.
Thank you for the quick replay. The shape of the PurchaseCreatedEvent is
public class PurchaseCreatedEvent : IEvent
{
public Organisation Organisation { get; set; }
public Purchase Purchase { get; set; }
public PurchaseCreatedEvent(Organisation organisation, Purchase purchase)
{
Organisation = organisation;
Purchase = purchase;
}
}
- It is in the same project.
from coravel.
What do your listeners look like? Are they in the same project also?
from coravel.
The listener(s) are in the same project as illustrated below
public class PurchaseCreatedListener : IListener<PurchaseCreatedEvent>
{
private readonly ApplicationDbContext _context;
public PurchaseCreatedListener(ApplicationDbContext context)
{
_context = context;
}
public async Task HandleAsync(PurchaseCreatedEvent broadcasted)
{
// Ommitted lines for brevity.
}
}
I am not sure if I have configured events and queues below as show below
var provider = app.ApplicationServices;
var registration = provider.ConfigureEvents();
registration.Register<PurchaseCreatedEvent>()
.Subscribe<PurchaseCreatedListener>();
provider.ConfigureQueue().LogQueuedTaskProgress(provider.GetService<ILogger<IQueue>>())
.OnError(e => { // Ommited for brevity });
I hope I have provide enough information.
from coravel.
Awesome. I forgot to ask (sorry!) - what version of Coravel are you using?
from coravel.
Version 2.3.1
from coravel.
Great. I'll try to get to this in the new couple days.
from coravel.
Quick question: Did you register your listeners with AddTransient
or AddScoped
?
from coravel.
No I didn't register with either. I think that is my issue. Let me try registering it. Ohh is this the proper way to register a listener
services.AddTransient<IListener<PurchaseCreatedEvent>, PurchaseCreatedListener>();
I had registered the listeners and events as follow
var provider = app.ApplicationServices;
var registration = provider.ConfigureEvents();
registration.Register<PurchaseCreatedEvent>()
.Subscribe<PurchaseCreatedListener>();
from coravel.
You can just do services.AddTransient<PurchaseCreatedListener>()
- does that fix your issues?
from coravel.
Yes it does. Thank you very much.
PS : I feel stupid now. Thanks again
from coravel.
hahaha! Don't worry about it. Glad everything is working now 👍
from coravel.
Related Issues (20)
- Running at Last day of Month? HOT 1
- Queue not being invoked on console app
- CLI not working with .NET 6 HOT 2
- Throw an exception and potentially prevent app on startup if a scheduled IInvocable is not available in the IoC container HOT 3
- Registering event listeners that are not configured causes silent exceptions HOT 1
- ScheduleInvocableType Cron method not working with .NET 6 HOT 1
- ScheduleWithParams not working with DI HOT 3
- Coravel Background Service HOT 9
- Add global from to Mailing docs HOT 3
- Calling From() in Build() to override globalFrom in Mailing HOT 2
- How much schedule Tasks could be run for an application? HOT 1
- Is it possible to run the tasks one after the other? HOT 2
- Add support for IAsyncDisposable HOT 3
- Make global timer configureable
- Run() isn't invoking method HOT 2
- Task scheduling does not work in .NET Maui HOT 2
- Cannot install 4.1.3 or later (.Net 7 SDK Web project) HOT 1
- Adding "Directory.Build.props" and ".editorconfig" HOT 2
- Adding a More Descriptive Exception for Invalid Driver Error
- Update Mailkit Version to 4.x.x HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from coravel.