Giter Site home page Giter Site logo

proophsoftware / event-machine-skeleton Goto Github PK

View Code? Open in Web Editor NEW
34.0 5.0 4.0 4.54 MB

Dockerized skeleton for prooph software Event Machine

Home Page: https://proophsoftware.github.io/event-machine/

License: BSD 3-Clause "New" or "Revised" License

PHP 90.09% HTML 9.91%
eventmachine prooph postgres event-sourcing cqrs php7 rad

event-machine-skeleton's People

Contributors

camuthig avatar codeliner avatar martin-schilling avatar sandrokeil avatar shochdoerfer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

event-machine-skeleton's Issues

Class 'AMQPConnection' not found

Hi,

thanks for this wonderfull guide. I head up with this exception while following it.

I did check image used in docker-compose prooph/php:7.2-fpm and it seems that it should be installed, still when i go inside the container and try to check the extension with php -i | grep amqp i get nothing.

Any idea on what is happening would be appreciated?

thanks in advance for your time,
David

event_machine_projection keeps failing: call to a member function run() on null

@codeliner was trying to create prototype suggested here: proophsoftware/es-emergency-call#8

But I'm having issues running the docker image; on particular, the event_machine_projection service keeps failing to start. The logs show the following:

event_machine_projection_1  | Fatal error: Uncaught Error: Call to a member function run() on null in /app/vendor/proophsoftware/event-machine/src/Projecting/ProjectionRunner.php:93
event_machine_projection_1  | Stack trace:
event_machine_projection_1  | #0 /app/vendor/proophsoftware/event-machine/src/EventMachine.php(617): Prooph\EventMachine\Projecting\ProjectionRunner->run(false, NULL)
event_machine_projection_1  | #1 /app/bin/event_machine_projection.php(21): Prooph\EventMachine\EventMachine->runProjections(false)
event_machine_projection_1  | #2 {main}
event_machine_projection_1  |   thrown in /app/vendor/proophsoftware/event-machine/src/Projecting/ProjectionRunner.php on line 93

I've checked the code, and seems like EventMachine.php is trying to create a projection runner, but the projection manager in the service container is null.

$this->container->get(self::SERVICE_ID_PROJECTION_MANAGER)

Any ideas why this could be happening? Have you heard this issue before?

Thanks

Default projection of aggregate state

Provide a default projection that is triggered each time an event occurs.
The projection takes _aggregate_type and _aggregate_id from event metadata and uses the new EventMachine::loadAggregateState method to get current state of related aggregate.
State is json_encoded (add hint in README that state should be json_encodeable) by the projection.
Aggregate type is used for mongo collection name (filter not allowed chars) and aggregateId is of course used as document id. The projection can simply perform an upsert.

Hot reload of projections

Find a way to restart projection containers (or php process insight container) on code changes, so that latest changes are also available within the projections.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.