# Change annotation recipe when prodigy is already running

**URL:** <https://support.prodi.gy/t/change-annotation-recipe-when-prodigy-is-already-running/987>\
**Category:** Uncategorized\
**Tags:** usage\
**Created:** [November 25, 2018, 1:25am UTC](https://support.prodi.gy/t/change-annotation-recipe-when-prodigy-is-already-running/987 "2018-11-25T01:25:46Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![ines](https://sea2.discourse-cdn.com/flex020/user_avatar/support.prodi.gy/ines/32/3_2.png) [@ines](https://support.prodi.gy/u/ines)\
**Post date:** [November 26, 2018, 11:16am UTC](https://support.prodi.gy/t/change-annotation-recipe-when-prodigy-is-already-running/987/2 "2018-11-26T11:16:53Z")

</div>

Hi and thanks! 😃

> [@mathetes](#):
>
> What is the recommended way of doing this? I’ve been looking all around the documentation, support and spacy’s own code, but I can’t figure out a good way to do it. I’m hoping that I won’t need to kill prodigy and start it from zero every time the user clicks a label.

Most Prodigy recipes are inherently stateful and they make sure to include an isolated, standalone server, REST API and web application. Switching between interfaces would introduce all sorts of problems and open questions: You’d need to make sure that the answers are stored with the correct task, make sure to re-fetch unanswered questions that were sent out etc.

All the logic that orchestrates an annotation workflow happens in Python, i.e. at the recipe level. In most cases where you want to change the "interface", what you actually want to do is change the entire task – the way the stream is composed, filters that are applied to the stream and possibly even the update callback and other settings.

> [@mathetes](#):
>
> How do you handle this in the demo app? How to change the view\_id on the fly?

The demo app is a separate app compiled for demo purposes: it skips all the parts that are problematic, doesn't send anything to a server and discards all answers.

> [@mathetes](#):
>
> What we are trying to do is have a server show some interfaces to our customers, one of which would be prodigy.

You've probably done this already, but depending on what you're trying to build, you might want to check that it's compatible with our license terms. While it's no problem to spin up annotation tasks and have your customers or other people do the labelling, integrating Prodigy into existing applications usually isn't permitted.

If what you're looking for is a way to manage multiple annotators and projects and retrieve statistics, you might be interested in the upcoming Prodigy Scale. It comes with an autoscaling cluster to host multiple annotation feeds and takes care of the starting/stopping, user management and reconciling of annotations. See here for details:

> [@sparkles Prodigy Annotation Manager Update // Prodigy Scale // Prodigy Teams](https://support.prodi.gy/t/prodigy-annotation-manager-update-prodigy-scale/805/1):
>
> Many of you have been asking about how to scale your Prodigy projects – including how to manage more annotators, how to keep multiple feeds running, and how to make sure your annotators stay in agreement. These are challenging problems that are outside of the scope of the [Prodigy](https://prodi.gy) software itself, so we've always planned an extension product that helps you use Prodigy in larger products. We've been quietly working away on this for some time, so we're excited to finally announce our progress! The …

---

_[View the full topic](https://support.prodi.gy/t/change-annotation-recipe-when-prodigy-is-already-running/987)._
