kbond
Repos
141
Followers
141
Following
11

A model factory library for creating expressive, auto-completable, on-demand dev/test fixtures with Symfony and Doctrine.

478
40

A fluent interface for your Symfony functional tests.

133
12

Assertions and helpers for testing your symfony/messenger queues.

137
9

Schedule Cron jobs (commands/callbacks/bash scripts) within your Symfony application.

341
18

Alternative, opinionated helpers for testing emails sent with symfony/mailer.

31
3

Alternative, opinionated helper for testing Symfony console commands.

34
1

Events

issue comment
[TwigComponent] Cached component

Interesting! Proposition 1 or 2 seems like the best method as 3 would always cache which might not be desired?

For live components, on initial render, the cache would be used but then on-interaction, we'd ignore the cache?

Created at 13 hours ago

make StoredMessage abstract

Created at 16 hours ago

add failure support

add helper methods to StoredMessage

Created at 16 hours ago
issue comment
[Console][Messenger] add `ExecuteCommand` and `ExecuteCommandHandler`

One thing I think is missing: making the output available if there's an exception. Consider a system that tracks messages and emails an admin on failure. I can attest that this is valuable information.

What about wrapping the caught exception in a new RunCommandMessageException that contains the output?

Created at 17 hours ago

changelog: update [skip ci]

Created at 1 day ago
create tag
kbond create tag v1.31.0
Created at 1 day ago
create branch
kbond create branch messenger-monitor-poc
Created at 1 day ago
create branch
kbond create branch message-monitor-dev
Created at 1 day ago

upgrade to 6.3

add scheduler

add schedule

Created at 1 day ago
`symfony/scheduler` support

I don't believe this bundle will support symfony/scheduler messages out of the box. This is because the SendMessageToTransportsEvent isn't fired when dispatching scheduled messages.

I think what we'd need to do to support is:

  1. WorkerMessageReceivedEvent: if scheduled message:
  • create/persist StoredMessage with $dispatchedAt === $receivedAt
  • add MonitorIdStamp here
  1. WorkerMessageHandledEvent: update as normal
Created at 1 day ago
Message "tags"

With symfony/scheduler, we could auto-add schedule and schedule:<name> tags to these messages.

Created at 1 day ago
Message "tags"

Laravel Horizon has the concept of tags. I think this could be pretty trivial to add to this bundle via a Stamp and perhaps an attribute:

// as an explicit stamp when dispatching
$bus->dispatch(new RenderVideo($video), [
    new TagStamp('render', 'video:'.$video->getId()),
]);

// as an attribute on the message
#[MessageTag('render')]
class RenderVideo
{}

The tags could be saved as a json column in the db for lookup/monitoring.

Created at 1 day ago

bump min dragonmantank/cron-expression version to 3.1

Created at 1 day ago

fix psalm error

Created at 1 day ago
issue comment
[Scheduler] add `RecurringMessage::getId()` and prevent duplicates

There's likely other methods I can use to achieve this same system with symfony/scheduler so I'm not dead set on this being added.

I've played a little with this. I could have my own custom logic to generate an identifier for a RecurringMessage and I can infer the scheduler name from RecievedStamp::$transport (schedule_default or schedule_foo).

But I think I'd need the RecurringMessage added to the ScheduledStamp or the Trigger object as a bare minimum in order to connect runs with a specific RecurringMessage.

Basically, I think we need more context added to the ScheduledStamp but it's not possible with the way it's currently coded.

Created at 1 day ago

[Scheduler] add "hashed" cron expression support

Created at 1 day ago

upgrade to 6.3

Created at 1 day ago

bot: fix cs [skip ci]

Created at 1 day ago
issue comment
fix: nested factories not persisting should not throw error

@ndench, can you confirm this fixes your issue in #443 and I'll tag a bugfix.

Created at 1 day ago
pull request closed
fix: nested factories not persisting should not throw error

fixes #443

/cc @ndench

Created at 1 day ago