Skip to content

Projects built with sanic? #396

@jonathansp

Description

@jonathansp
No description provided.

Activity

changed the title [-]Question: production ready?[/-] [+]production ready?[/+] on Feb 7, 2017
JordanP

JordanP commented on Feb 8, 2017

@JordanP

Question: what do you mean ?

jonathansp

jonathansp commented on Feb 8, 2017

@jonathansp
Author

Hi @JordanP, it's important to known if this project could be considered a production-ready solution. Some companies have restrictions on using new frameworks till they become stable. My question is related to author's opinion and people that already use it. If it's not a production-ready project, what would you say that is missing/not good? I'm not planning to use items described on TODO list.

JordanP

JordanP commented on Feb 8, 2017

@JordanP

Production ready is a term which so much varies from one company to another, it can be hard for the authors to say "yeah, go ahead now, it's ready". I think you should start by having a good look at the whole code base, then the issue tracker then the frequency and size of new commits (these metrics are not specific to Sanic). You could get a first opinion, in addition to what the authors will reply here.

illume

illume commented on Feb 9, 2017

@illume

It says in the meta data (setup.py and pypi) this - Development Status :: 2 - Pre-Alpha.

anaulin

anaulin commented on Feb 10, 2017

@anaulin

Perhaps a more concrete, specific question would be: are there any companies / projects out there using Sanic in production? If so, it would be nice to know for how long they've been using it, and what are their loads like. (Note that I am not necessarily asking which companies are using it. I'm fine for that info to stay confidential.)

As someone who is considering using Sanic for a new service (that is part of a paid product), I'd appreciate any anecdotes or data-points from folks production experience with Sanic, or pointers to such anecdotes.

anaulin

anaulin commented on Feb 10, 2017

@anaulin

(I'll also add that the 'Development Status' classifier on Python packages isn't very helpful. I couldn't find a definition of what each status is supposed to mean, and it appears that different people are using the same status to mean different things. For example, Flask is labeled as 'Development Status :: 4 - Beta', and yet I am personally aware of several companies that use it in production.)

zkanda

zkanda commented on Feb 10, 2017

@zkanda
Contributor

Hello,

We are using it in our company, mainly for asynchronous push notifications. But the internal API's are not stable yet, some things are messy #381. But we like to be on the edge, hence it works and it keeps us developers happy and still achieve what we want. So I guess depending on who will implement your code and how much they are willing to deal with breaking changes, in our personal experience, can say sanic is production ready. 😇

brunoalano

brunoalano commented on Feb 14, 2017

@brunoalano

We are actually using it in production for big companies in Brazil, where the Sanic application exchanges the messages between our ML algorithms and other APIs. Since it's a very simple application, we didn't have any issue running Sanic.

But actually I'm migrating to Python 2.7 and Flask to use AWS Lambda for this task in the next weeks (we are a startup, and don't have someone to keep the deployments very stable on Kubernetes).

r0fls

r0fls commented on Feb 16, 2017

@r0fls
Contributor

Maybe it makes sense to add a list of companies that are using it? If there are a few to start that would be willing to name themselves it would be nice to add it as a section to the docs in my opinion.

anaulin

anaulin commented on Feb 16, 2017

@anaulin

@r0fls I agree that it would be nice, but I also can understand that not every company is comfortable speaking publicly about what's in their stack. 😄

frnkvieira

frnkvieira commented on Feb 24, 2017

@frnkvieira

@anaulin Although I do not consider it production ready because it's a young project I'm using it since last month under a considerable load... so far no issues.

xycloud

xycloud commented on Mar 3, 2017

@xycloud

watching

nszceta

nszceta commented on Mar 10, 2017

@nszceta

If you plan on using Sanic in production, do not use Sanic's multiprocessing code at all.

Instead, rely on supervisord or circus to start and keep multiple web server instances alive. You can configure such a daemon to periodically check on the health of each instance with an HTTP request and restart it when, not if it goes bad, for all web servers eventually become unstable after some number of requests for various reasons including memory leaks.

In fact, Instagram disables garbage collection entirely (gc.set_threshold(0)) and uses a supervisor to destroy and restart the entire Python process after it reaches a set memory usage threshold.
https://engineering.instagram.com/dismissing-python-garbage-collection-at-instagram-4dca40b29172#.ovixdthq8

In essence, proper management of processes is in a way more important than the operation of the processes themselves.

18 remaining items

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @illume@simonw@JordanP@ludovic-gasc@jonathansp

        Issue actions

          Projects built with sanic? · Issue #396 · sanic-org/sanic