profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/slashdotdash/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Ben Smith slashdotdash Binary Consulting UK http://10consulting.com/ Creator of @commanded CQRS/ES for Elixir.

commanded/commanded 1407

Use Commanded to build Elixir CQRS/ES applications

bitwalker/swarm 1047

Easy clustering, registration, and distribution of worker processes for Erlang/Elixir

commanded/eventstore 795

Event store using PostgreSQL for persistence

slashdotdash/awesome-elixir-cqrs 522

A curated list of awesome Elixir and Command Query Responsibility Segregation (CQRS) resources.

slashdotdash/conduit 274

RealWorld example backend implementing the CQRS/ES pattern in Elixir and Phoenix

slashdotdash/cqrs-best-practices 84

Best practices, guidance, and anti-patterns to avoid when building an application following CQRS/ES principles

commanded/commanded-ecto-projections 63

Read model projections for Commanded using Ecto

commanded/commanded-audit-middleware 27

Command auditing middleware for Commanded CQRS/ES applications

commanded/commanded-eventstore-adapter 25

EventStore adapter for Commanded

slashdotdash/domain-driven-js 20

Domain-driven JavaScript

startedmcintyre321/OneOf

started time in 6 hours

pull request commentcommanded/commanded

Allow uuid generator to be configurable

So should have I retained Commanded.UUID and remove uniq_compat?

Yes, I think so as dropping the dependency removes the potential for version clashes.

FrancisMurillo

comment created time in a day

pull request commentcommanded/commanded

Allow uuid generator to be configurable

I think it was preferable to remove the dependency on :elixir_uuid and implement the default UUID generator using the v4 format by copying the UUID implementation.

FrancisMurillo

comment created time in a day

pull request commentcommanded/eventstore

Update .tool-versions

Thanks @jdewar.

jdewar

comment created time in 2 days

push eventcommanded/eventstore

jdewar

commit sha 8cc67172d07106689c61fee0b24f406d3526b41d

Update .tool-versions Similar typo as was found in commanded/commanded which prevented a standalone install. (ElixirLS complaining about not being able to find elixir was how I found this.)

view details

Ben Smith

commit sha e347176e23f30dca133759ffa372c541d60fd24a

Merge pull request #243 from jdewar/patch-1 Update .tool-versions

view details

push time in 2 days

PR merged commanded/eventstore

Update .tool-versions

Similar typo as was found in commanded/commanded which prevented a standalone install. (ElixirLS complaining about not being able to find elixir was how I found this.)

+1 -1

0 comment

1 changed file

jdewar

pr closed time in 2 days

pull request commentcommanded/commanded

Add sponsorship information to mixfile

Thanks for the pull request Rosa.

Cantido

comment created time in 2 days

push eventcommanded/commanded

Rosa Richter

commit sha 53dbe50d1e57f596335547ee3ab9be396fc9cb72

Add sponsorship information to mixfile Hex has a nice mix task called `hex.sponsor` which shows all packages with a "Sponsor" link. You only need to add a URL in the `links` map called `Sponsor` and Hex will show it whenever anyone runs `mix hex.sponsor`. Can't hurt.

view details

Ben Smith

commit sha 1c8af07e4fdc415446b80482bf92f4f9c9873269

Merge pull request #458 from Cantido/patch-1 Add sponsorship information to mixfile

view details

push time in 2 days

PR merged commanded/commanded

Add sponsorship information to mixfile

Hex has a nice mix task called hex.sponsor which shows all packages with a "Sponsor" link. You only need to add a URL in the links map called Sponsor and Hex will show it whenever anyone runs mix hex.sponsor. Can't hurt to add it.

Info on the mix task: https://hexdocs.pm/hex/Mix.Tasks.Hex.Sponsor.html#content

+2 -1

0 comment

1 changed file

Cantido

pr closed time in 2 days

startedtimescale/timescaledb-docker-ha

started time in 2 days

startedpostgis/docker-postgis

started time in 2 days

startedfindmypast-oss/mssqlex

started time in 2 days

issue commentcommanded/commanded

Aggregate crashes due to DB connection timeout

@jdewar If an aggregate process cannot append events to its event stream then an error should be returned to the dispatch command function call. The guarantee is that an :ok is only returned from a command dispatch when any events produced by the command have been successfully persisted. In this scenario you could manually retry the failed command or return the error to the initiator (e.g. HTTP request, Web UI).

slashmili

comment created time in 3 days

startedCantido/hex_licenses

started time in 3 days

startedsupabase/walrus

started time in 3 days

issue commentcommanded/commanded-ecto-projections

Ecto projector shutting down service when invalid event

@slashdotdash Is there a recommended way to not have a failing projector crash the entire app in production? I'd rather that the projector keeps failing than to kill the whole app and any other functionality.

An Ecto projector is a Commanded event handler so you can implement your own error/3 callback function to handle errors, such as skip problematic events or retry with optional delay. There's an example Commanded's event handler documentation.

def error(error, event, %FailureContext{context: context}) do
  failures = Map.get(context, :failures, 1)

  # Retry event after an exponential delay, failure count is included in context map
  delay = :timer.seconds(1) * failures
  context = Map.put(context, :failures, failures + 1)

  {:retry, delay, context}
end

sebastialonso

comment created time in 4 days

push eventcommanded/commanded

Ben Smith

commit sha 89c6468002b4f1e65641856ce5b49dba45c607df

Release v1.3.0

view details

push time in 8 days

push eventcommanded/commanded

Ben Smith

commit sha b6951d0ca99fb8cdeba4987f95b2be6ab811546f

Include #456 in CHANGELOG

view details

push time in 8 days

push eventcommanded/eventstore

Ben Smith

commit sha 0bacb5e5e3712e9e333044fdeb6cea34b5a7aa1f

Include upgrade note for release v1.3.2

view details

push time in 8 days

pull request commentcommanded/commanded

fix: asdf's erlang version

This had originally "worked on my machine"!

$ asdf list-all erlang | grep 23.3.4.4 23.3.4.4

jdewar

comment created time in 8 days

push eventcommanded/commanded

jdewar

commit sha fa4fb8df47a63b8b3f5defe6024c7cd55fb9a9a3

fix: asdf's erlang version Fix minor typo that blocks a fresh install

view details

Ben Smith

commit sha dc93ad21399ebd2453645b0592c127f213d4825f

Merge pull request #455 from jdewar/patch-1 fix: asdf's erlang version

view details

push time in 8 days

PR merged commanded/commanded

fix: asdf's erlang version

Fixes a minor typo that blocks a fresh install

+1 -1

1 comment

1 changed file

jdewar

pr closed time in 8 days

pull request commentcommanded/commanded

Allow for telemetry 1.0

Thanks for the pull request Michael.

michaelherold

comment created time in 8 days

push eventcommanded/commanded

Michael Herold

commit sha d9808080dea946be27a9bd0491acc2b63c6d4bd6

Allow for telemetry 1.0 The bump to 1.0 only solidifies the public API. It's the same as the 0.4 series, just with a guarantee of a stable API. Since there are libraries that have not updated yet, accepting both for now seems reasonable.

view details

Ben Smith

commit sha 4ecc9e7c9a3a6ca0a569d2bfe0a1f4343f6ea689

Merge pull request #456 from michaelherold/telemetry-1.0 Allow for telemetry 1.0

view details

push time in 8 days

PR merged commanded/commanded

Allow for telemetry 1.0

The bump to 1.0 only solidifies the public API. It's the same as the 0.4 series, just with a guarantee of a stable API. Since there are libraries that have not updated yet, accepting both for now seems reasonable.

+1 -1

0 comment

1 changed file

michaelherold

pr closed time in 8 days

pull request commentcommanded/commanded

Adding doc to eventhandler on how it work internally

Thanks for the pull request Simon.

Freyskeyd

comment created time in 8 days

push eventcommanded/commanded

Freyskeyd

commit sha 50910012ac0723023a7eddc103d99d24d09414d6

Adding doc to eventhandler on how it work internally Signed-off-by: Freyskeyd <simon.paitrault@gmail.com>

view details

Ben Smith

commit sha 788917acfcd727a91eb5de3ce9f261b191ed9b56

Merge pull request #457 from Freyskeyd/fix-125 Adding doc to eventhandler on how it work internally

view details

push time in 8 days

PR merged commanded/commanded

Reviewers
Adding doc to eventhandler on how it work internally

fixes #125

Signed-off-by: Freyskeyd simon.paitrault@gmail.com

+5 -0

0 comment

1 changed file

Freyskeyd

pr closed time in 8 days

issue closedcommanded/commanded

Describe how event handlers receive domain events

The Events guide shuld should explain that each event handler creates a subscription to the configured event store. This is how events are "pushed" to the handler.

An event handler is a GenServer process that subscribes to the configured event store. For each event persisted to the store the handle/2 callback is called, passing the domain event and its metadata.

closed time in 8 days

slashdotdash