Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

97
Views
Pubnub siempre se agota en la aplicación Django

Estoy creando una aplicación Django para escuchar un feed de Pubnub y almacenar los mensajes en una base de datos. Creo un oyente pubnub en el método ready() de AppConfig de apps.py de mi aplicación.

Al iniciar mi aplicación en Heroku, aparece el error realmente inútil

 2017-04-26T02:17:50.038060+00:00 heroku[web.1]: Error R12 (Exit timeout) -> At least one process failed to exit within 30 seconds of SIGTERM 2017-04-26T02:17:50.038060+00:00 heroku[web.1]: Stopping remaining processes with SIGKILL 2017-04-26T02:17:50.134619+00:00 heroku[web.1]: Process exited with status 137

Sospecho que Django quiere limpiar el proceso de AppConfig y está molesto porque hay un objeto pubnub dando vueltas por ahí. ¿Es ese el problema? ¿Cómo lo soluciono?

También veo que (al menos implícitamente por ejemplo) Heroku recomienda usar la interfaz retorcida. ¿Es malo que no lo sea?

Aquí está el código relevante:

Creé un mypubnub.py basado en el ejemplo hello world de Pubnub :

 from pubnub.pubnub import PubNub from pubnub.pnconfiguration import PNConfiguration from pubnub.callbacks import SubscribeCallback class MySubscribeCallback(SubscribeCallback): def presence(self, pubnub, presence): pass def status(self, pubnub, status): pass def message(self, pubnub, message): pass # I'll actually do the storage here later def create_pubnub(): pnconf = PNConfiguration() pnconf.subscribe_key = 'sub-c-blargyblargblarg' pnconf.publish_key = 'pub-c-blargyblargblarg' pubnub = PubNub(pnconf) pubnub.add_listener(MySubscribeCallback()) pubnub.subscribe().channels('achannel').execute() return pubnub

Hago una instancia de esas cosas de pubnub en apps.py desde django.apps import AppConfig

 from .mypubnub import create_pubnub class MyAppConfig(AppConfig): name = 'myapp' def ready(self): pn = create_pubnub()
over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Suscribirse desde el servidor es la excepción

Si bien es algo que algunos clientes de PubNub hacen con éxito, suscribirse desde el lado del servidor suele ser la excepción y no la regla. Sin embargo, tiene su caso de uso adecuado.

En este caso, la mejor práctica sería usar BLOQUES de PubNub para POST cada mensaje que se publica desde la red de PubNub a su servidor en lugar de que su servidor escuche en un canal o en todos los canales para hacer lo mismo.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!