1stSolo

1stSolo

I am trying to trace a problem with pubsub. I confirmed, through logging, that subscription event should get triggered, but client is not receiving it. So I suspect that subscriber loses subscription somewhere along the way. It would be helpful to list all subscribers at the time the message is sent.

object :lock_subscriptions do
...
    field :lock_freed, non_null(:lock_result) do
      arg(:lock_input, non_null(:lock_input))

      config(fn
        %{lock_input: %{id: target_id, target_type: target_type}}, _ ->
          {:ok, topic: "#{@lock_freed_prefix}:#{target_type}:#{target_id}"}
      end)

      trigger(:release_lock,
        topic: fn
          %{success: true, id: target_id, target_type: target_type} ->
            "#{@lock_freed_prefix}:#{target_type}:#{target_id}"
            |> IO.inspect(label: "SUBSCRIPTION: LOCK-FREED triggered: ")

          other ->
            other |> IO.inspect(label: "SUBSCRIPTION: NOT FREED")
            "not-freed_do-not-publish"
        end
      )
    end

Showing Posts 1 to 1

bolducp

bolducp

@1stSolo Did you ever figure this out?

My use case is different, but I’m also trying to find if there is a way to get a list of active subscribers.

@benwilson512 Could you possibly point me in the right direction of figuring out how to find out if there are any active subscribers for a given subscription?

As context, I have some code that does some fairly computationally intensive work and publishes the result via a subscription. If there were some way that I could know whether there were any active subscribers to the subscription, it would be really helpful because then I would just only do the calculations and publish the results if there were actually people subscribed. This is a case where we have things in the application happening that can trigger the re-calculation very frequently, but the calculation is only needed for the purpose of the subscription, so if literally no one is subscribed (which will be the case the large majority of the time), then it would be better to not do the calculation and publish the subscription event at all.

Apologies if this question has already been addressed in the docs or elsewhere. I spent quite a while looking and couldn’t find anything, but I definitely might have missed it.

Thanks in advance for any guidance!

— All posts loaded —

Where Next? Top

Trending in Questions Top

RSP87
I’m working on a project that simulates the bumbl example in the programming phoenix book. It acts almost like an email client. We have a...
New
kszambelanczyk
Hello! Could someone please give me a help/sample code, how to delete a file from s3 using waffle/waffle_ecto from Phoenix app. I creat...
New
RemyXRenard
I’m seeing that a list inside a Kino.DataTable will be interpreted as a charlist, even if the Kino.configure() is set to charlists: :as_l...
New
velrest
So my question is quite simple and i have found no conclusive answer on forum, google or AI. Should we use :erlang.float for Integer to ...
New
samoloth
Hi, I’ve just set up an application with ash_authentication. There is only magic link strategy for now, so there is no confirmation add o...
New
FlyingNoodle
If a change or preparation module uses Ash.Changeset.get_argument/2 or Ash.Query.get_argument/2 (or any of the other get_argument functio...
New
nseaSeb
Hello, I know there is an approach for handling lists that allows for optimized traversal, but I can’t recall the specific method (somet...
New

Other Trending Topics Top

mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Dmk
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews