by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Michał Kiędyś
    @mkiedys
    .
    Lech Głowiak
    @LGLO
    Have you received some invitation or seen badge PR?
    Michał Kiędyś
    @mkiedys
    yap
    both
    Patrice Ferrot
    @pferrot
    Hi there. Question about messages acknowledgment: it seems that the reactive-rabbit driver acknowledges messages as soon as they are received, but before the flow is completed. I can understand why (you do not want to have to deal with a Delivery/Message in your flow, that is the whole point), but then what is the best practice to retry / make sure messages are not lost shall something go wrong during the execution of the flow (application bug, system crash, ...)?
    Ivan Morozov
    @allquantor
    Hi @ all :)
    Ivan Morozov
    @allquantor
    Question: Im using the reactive-rabbit driver for a small service app. In my integration tests (im using scala-test) the before {} method contain a routine where a test queue is filled with test messages:
    val sourceMapping = List(...)
    val exchange = connection.publish(rabbitExchange.name, "")
     sourceMapping.runWith(Sink.fromSubscriber(exchange))
    However, caused by the async. for some tests the queue is not filled with test messages - or not completely. Is it possible to force sync provisioning somehow?
    (without Thread.sleep)
    Vitor Vieira
    @vitorsvieira
    Hi guys
    The bump 1.1.1 contains #36 as other channel related fixes right?
    @/all
    Michał Kiędyś
    @mkiedys
    @pferrot Akka Streams buffers in almost every stage. Even if we would do some tricks to ack late that wouldn't help.
    The only way of solving this issue is to ack manually. Decent amount of writing can be found here: ScalaConsultants/reactive-rabbit#13
    So unless you are not using Akka Streams (we are not) which I doubt, you have to deal with this some way.
    @notvitor Yes
    @allquantor Just starting a stream isn't enough. You need to await for completion.
    Michał Kiędyś
    @mkiedys
    import scala.concurrent.Await
    
    val exchange = Sink.fromSubscriber(connection.publishDirect(exchange.name))
    val mappings = List(…)
    
    val done = Source(mappings).alsoTo(exchange).runWith(Sink.ignore)
    Await.ready(done)
    Something like this should do the trick.
    Sink.ignore materializes to Future[Done] and you can wait until Done is emited.
    Ideally you would wait for exchange to signal completion.
    Ivan Morozov
    @allquantor
    @mkiedys Thank You! Had the same idea - but was pretty new in akka streams, anyway, "alsoTo" made the deal! Have a nice day!
    Lech Głowiak
    @LGLO
    @mkiedys I've made new release with "channel closed" during queues recovery bug fixed
    Will it automatically be published to maven central or some manual action is needed?
    Michael Gao
    @mchlgao_twitter
    any recommendations on how to implement (say an actor) listening on the Rabbit connection and being able to auto-reconnect when disconnected?
    Michał Kiędyś
    @mkiedys
    @mchlgao_twitter You will need to rematerialize the entire flow every time it fails. Shouldn't be harder than catching exception and invoking .run() again.
    Of course feel free to revisit and improve existing flaky support for reconnects that retain queues. It doesn't work as expected.
    Michael Gao
    @mchlgao_twitter
    @mkiedys thank you, im going to send a pull request your way soon.
    Michael Gao
    @mchlgao_twitter
    PR available: ScalaConsultants/reactive-rabbit#52
    breckcs
    @breckcs
    Added a PR to allow the client to specify the ExecutionContext in cases where there are many concurrent requests.
    ScalaConsultants/reactive-rabbit#53
    Djamel Zouaoui
    @djamelz
    hi guys, thanks for the work, some chances to merge ScalaConsultants/reactive-rabbit#52 and publish a new version on maven central soon ?
    breckcs
    @breckcs
    Opened a pull request for an option to set the maximum queue size in bytes: ScalaConsultants/reactive-rabbit#54
    Opened a pull request for an option to have an exclusive consumer: ScalaConsultants/reactive-rabbit#55
    Mathias Düsterhöft
    @mduesterhoeft
    Hi guys - do you have any samples or hints on running reactive-rabbit in a cluster.
    Mathias Düsterhöft
    @mduesterhoeft
    I had it running in a standalone setup but as I introduced a cluster it is not working anymore - no error message - just not picking up messages. I know that akka-streams are not supporting clustering - but running in local mode should be fine - how can I configure that.
    breckcs
    @breckcs
    @mduesterhoeft I use reactive-rabbit against a cluster, but the cluster is abstracted to the client behind a TCP load balancer. Therefore, there is just a single host entry in the reactive-rabbit amqp configuration.
    ruslan
    @unoexperto
    Hey guys! I'm considering using reactive-rabbit. Could you please clarify if it supports backpressure with akka streams ?
    ruslan
    @unoexperto
    And how do I directly publish something to queue ? I'm looking for Channel.basicPublish
    What's the purpose of io.scalac.amqp.Connection.publishDirectly ? How can I publish something via Subscriber ? it looks like consumer interface.
    ruslan
    @unoexperto
    After looking at source code I fail to understand why publishDirectlyis needed at all. QueuePublisherSpec uses connection.asInstanceOf[RabbitConnection].underlying to create channel I have no access to.
    Weird.
    ruslan
    @unoexperto
    Ah I guess idea is that I'll always use Sink to publish.
    ruslan
    @unoexperto
    Is anyone active here ?
    Michał Kiędyś
    @mkiedys
    @unoexperto In AMQP you never publish directly to a queue. There is always an exchange in the between.
    There is a special exchange with an empty name that takes queue name in routing-key field. That kind of allows you to deliver messages directly to a queue without declaring exchanges and routes explicitly.
    @unoexperto Naming might be confusing, I agree. There is not much we can do about it.
    Tom Morreale
    @tommrle
    Are there any akka stream rabbit mq tools that use the pull model rather than the subscription model?
    Michał Kiędyś
    @mkiedys
    Can you elaborate?