Skip to content

Feature/add support for TickerQ#3903

Merged
iancooper merged 23 commits into
BrighterCommand:masterfrom
AboubakrNasef:feat/Add-Support-for-TickerQ
Nov 22, 2025
Merged

Feature/add support for TickerQ#3903
iancooper merged 23 commits into
BrighterCommand:masterfrom
AboubakrNasef:feat/Add-Support-for-TickerQ

Conversation

@AboubakrNasef

Copy link
Copy Markdown
Contributor

[Feature] Add Support for TickerQ #3691

@CLAassistant

CLAassistant commented Nov 8, 2025

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

codescene-delta-analysis[bot]

This comment was marked as outdated.

codescene-delta-analysis[bot]

This comment was marked as outdated.

@iancooper

Copy link
Copy Markdown
Member

Thanks @AboubakrNasef. I'll ping @ lillo42 as his review is important to me.

@iancooper iancooper added 3 - Done .NET Pull requests that update .net code V10.X labels Nov 10, 2025
Comment thread src/Paramore.Brighter.ServiceActivator.Control.Api/Properties/launchSettings.json Outdated
Comment thread tests/Paramore.Brighter.Hangfire.Tests/When_scheduling_a_message.cs Outdated
Comment thread tests/Paramore.Brighter.TickerQ.Tests/TestDoubles/MyEvent.cs Outdated
Comment thread tests/Paramore.Brighter.TickerQ.Tests/Paramore.Brighter.TickerQ.Tests.csproj Outdated
Comment thread src/Paramore.Brighter.MessageScheduler.TickerQ/TickerQScheduler.cs
@iancooper

Copy link
Copy Markdown
Member

Looks like a build error from a typo:

Error: /home/runner/work/Brighter/Brighter/tests/Paramore.Brighter.Hangfire.Tests/When_scheduling_a_message.cs(73,40): error CS0103: The name 'Compatibilityevel' does not exist in the current context [/home/runner/work/Brighter/Brighter/tests/Paramore.Brighter.Hangfire.Tests/Paramore.Brighter.Hangfire.Tests.csproj::TargetFramework=net9.0]

codescene-delta-analysis[bot]

This comment was marked as outdated.

codescene-delta-analysis[bot]

This comment was marked as outdated.

codescene-delta-analysis[bot]

This comment was marked as outdated.

@iancooper

Copy link
Copy Markdown
Member

@lillo42 If you give me the thumbs up, I can approve

codescene-delta-analysis[bot]

This comment was marked as outdated.

Comment thread src/Paramore.Brighter.MessageScheduler.TickerQ/TickerQBrighterJob.cs Outdated
@iancooper

Copy link
Copy Markdown
Member

Looking good @AboubakrNasef. Just a couple of niggles to fix up.

codescene-delta-analysis[bot]

This comment was marked as outdated.

codescene-delta-analysis[bot]

This comment was marked as outdated.

codescene-delta-analysis[bot]

This comment was marked as outdated.

@iancooper

Copy link
Copy Markdown
Member

@AboubakrNasef If you can fix up the files (licences etc.) we can merge this

@AboubakrNasef

Copy link
Copy Markdown
Contributor Author

@AboubakrNasef If you can fix up the files (licences etc.) we can merge this

im not sure how to do so
I've fixed the cla license agreement
but then i don't know what to do
if you can guide me I'll be thankful 😅

@iancooper

Copy link
Copy Markdown
Member

if you can guide me I'll be thankful 😅

No worries, you have given us a contribution, so we are the ones who should be thankful.

So, you need to add a licence header to your source files (don't worry about the tests). You can see what you need to add here: https://docs.google.com/document/d/1H_AlNNiQK5645NLYCtGfEJs21FAe8Zj5bGxOks0F2Ew/edit?tab=t.0#heading=h.lewf11cspa2r. It goes at the top of the file, and you need to add your name in the copyright. (Under the CLA you kept your copyright but granted us a perpetual licence)

If you look in the comments, there is a #region in TickerQScheduler.cs. Take that out

If you look in the comments, there is a suggestion to wrap ScheduleAsync rather than wrapping the one call within Schedule. You have done this elsewhere; use an expression-bodied function and call BrighterAsyncContext.Run(async () => await ScheduleAsync ...

@iancooper

Copy link
Copy Markdown
Member

Still not clear? Just shout.

@codescene-delta-analysis codescene-delta-analysis Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gates Passed
4 Quality Gates Passed

See analysis details in CodeScene

Quality Gate Profile: Clean Code Collective
Want more control? Customize Code Health rules or catch issues early with our IDE extension and CLI tool.

@AboubakrNasef

Copy link
Copy Markdown
Contributor Author

i've added the licensce now

@AboubakrNasef

Copy link
Copy Markdown
Contributor Author

If you look in the comments, there is a suggestion to wrap ScheduleAsync rather than wrapping the one call within Schedule. You have done this elsewhere; use an expression-bodied function and call BrighterAsyncContext.Run(async () => await ScheduleAsync ...

for this suggestion i cant agree with because of the creation of the FireSchedulerMessage and FireSchedulerRequest
should add if its async or not
wrapping the call of the schedule to BrighterAsyncContext.Run(async () => await ScheduleAsync
will make the schedule sync act as async and for that it will fail the tests
so thats why these two specific is like that and the others is just wrapping the async calls

@iancooper

Copy link
Copy Markdown
Member

Thanks @AboubakrNasef I am going to merge now. We are very grateful for your contribution. I hope to release a new version this weekend which should include this.

We always appreciate contributions, please keep the coming.

@iancooper iancooper merged commit a6f7950 into BrighterCommand:master Nov 22, 2025
26 of 28 checks passed
@lillo42

lillo42 commented Nov 24, 2025

Copy link
Copy Markdown
Contributor

Hey @AboubakrNasef can you create a PR with version 9 of Ticker?

@AboubakrNasef

Copy link
Copy Markdown
Contributor Author

@lillo42
you mean fork brighter v9 and add tickerQ?

@lillo42

lillo42 commented Nov 25, 2025

Copy link
Copy Markdown
Contributor

No, I mean, you have implemented the TicketQ using the version 2.5.3, but the latest version compatible with Brighter is TicketQ 9.0.0, we use that version

@AboubakrNasef

Copy link
Copy Markdown
Contributor Author

ok ive checked they just updated the versions
i'll update it
thank you

@iancooper

Copy link
Copy Markdown
Member

@AboubakrNasef No worries, I need to get a build out, and due to a vulnerability, I am fixing it. I'll let you know when it is done, and you can review my changes

@AboubakrNasef

AboubakrNasef commented Dec 1, 2025

Copy link
Copy Markdown
Contributor Author

@iancooper
sorry for being late on this
i had an accident just got out of hospital today with broken leg

i did start on this already they have some breaking changes they did
i can review the changes if you made it and confirm with you 😅

@iancooper

Copy link
Copy Markdown
Member

i had an accident just got out of hospital today with broken leg
Ouch. Hope you mend soon

i did start on this already they have some breaking changes they did
No worries. I'll do a good enough job to move on, then tag you in an issue to check

@iancooper

Copy link
Copy Markdown
Member

@AboubakrNasef BTW, I am moving to their version 8, as they seem to have dropped support for all but 10 in their latest release.

DevJonny pushed a commit to DevJonny/Brighter that referenced this pull request Feb 28, 2026
* add tickerq and test project

* add TickerQ library

* add test for schedule message

* Implement the Schedule Message Functions

* add request shceduler messages WIP

* add documentation

* refactor test fixtures

* pass the cacnelation token

* refactor the creation logic of the timeTicker

* fix typo

* remove launch settings

* use the Id instead of guid

* add the strong namer for the TickerQ.Utilities isn't signed with strong name

* remove properites folder

* update the package to not Sign the assembly

* remove space  from file serviceActivator api

* Remove the AckOnRead flag in AzureServiceBusConfiguration (BrighterCommand#3899)

See BrighterCommand#3895

* Fixes found bug on Messaging Gateway (BrighterCommand#3905)

* Fixes found bug on Messaging Gateway

* fixes build

* Make RedisSubscription constructor as public (BrighterCommand#3906)

* add MIT License to files

---------

Co-authored-by: Doğan Çeçen <sepeth@hey.com>
Co-authored-by: Rafael Lillo <rafael.andrade@justeattakeaway.com>
Co-authored-by: Ian Cooper <ian_hammond_cooper@yahoo.co.uk>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3 - Done .NET Pull requests that update .net code V10.X

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants