# ContinueAsNew + signals

**URL:** <https://community.temporal.io/t/continueasnew-signals/1008>\
**Category:** Community Support\
**Tags:** go-sdk\
**Created:** [November 16, 2020, 8:03pm UTC](https://community.temporal.io/t/continueasnew-signals/1008 "2020-11-16T20:03:28Z")\
**Posts on this page:** 1\
**Showing post:** 36

<div class="post-metadata">

**Author:** ![jackielii](https://sea2.discourse-cdn.com/flex016/user_avatar/community.temporal.io/jackielii/32/607_2.png) [@jackielii](https://community.temporal.io/u/jackielii)\
**Post date:** [May 13, 2022, 4:57pm UTC](https://community.temporal.io/t/continueasnew-signals/1008/36 "2022-05-13T16:57:21Z")

</div>

I think this problem can be generalised into the pub/sub pattern: on one end, I want to keep sending signals, on the other end, I consume the signal and process it, then return `continue_as_new` to process another.

I don’t think the workflow.Signal is well suited for this problem. As @maxim explained in the other [Q&A](https://community.temporal.io/t/continue-as-new-has-no-chance-to-run-in-a-continuously-streaming-signal-workflow/3598/11) : _Temporal is a control plane, not a data plane._

To workaround this issue, we used an external queue and then created a spacial “consumeMessage” activity that can wait indefinitely, and only consume one message and return.

IMHO, this is not a bad pattern, we fully utilised temporal’s capability to control the execution and we also have the data flowing through the activities without the restriction of history size.

One problem is if this `continue_as_new` workflow repeats too many times, we need to `garbage collect` them often.

---

_[View the full topic](https://community.temporal.io/t/continueasnew-signals/1008)._
