- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
ssenv
位于:/home/david/Env/ssenv/
如果我进入manage.py 文件所在的位置并运行:
gunicorn --workers 3 --bind unix:/home/david/StockSearch/stocksearch/stocksearch.sock stocksearch.wsgi:application
一切正常。但如果我尝试使用以下gunicorn.conf upstart 文件:
start on runlevel [2345]
stop on runlevel [!2345]
respawn
setuid david
setgid www-data
chdir /home/david/StockSearch/stocksearch
exec /home/david/Env/ssenv/bin/gunicorn --workers 3 --bind unix:/home/david/StockSearch/stocksearch/stocksearch.sock stocksearch.wsgi:application
然后运行:sudo service gunicorn start
我检查错误日志并看到这一团糟:
[2015-10-07 07:01:22 -0400] [8882] [INFO] Starting gunicorn 19.3.0
[2015-10-07 07:01:22 -0400] [8882] [INFO] Listening at: unix:/home/david/StockSearch/stocksearch/stocksearch.sock (8882)
[2015-10-07 07:01:22 -0400] [8882] [INFO] Using worker: sync
[2015-10-07 07:01:22 -0400] [8886] [INFO] Booting worker with pid: 8886
[2015-10-07 07:01:22 -0400] [8887] [INFO] Booting worker with pid: 8887
[2015-10-07 07:01:22 -0400] [8888] [INFO] Booting worker with pid: 8888
(ssenv)david@stockmeup:~/StockSearch/stocksearch$ sudo tail -30 /var/log/upstart/gunicorn.log
File "/home/david/Env/ssenv/lib/python3.4/site-packages/gunicorn/arbiter.py", line 459, in reap_workers
raise HaltServer(reason, self.WORKER_BOOT_ERROR)
gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.' 3>
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/david/Env/ssenv/bin/gunicorn", line 11, in <module>
sys.exit(run())
File "/home/david/Env/ssenv/lib/python3.4/site-packages/gunicorn/app/wsgiapp.py", line 74, in run
WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
File "/home/david/Env/ssenv/lib/python3.4/site-packages/gunicorn/app/base.py", line 189, in run
super(Application, self).run()
File "/home/david/Env/ssenv/lib/python3.4/site-packages/gunicorn/app/base.py", line 72, in run
Arbiter(self).run()
File "/home/david/Env/ssenv/lib/python3.4/site-packages/gunicorn/arbiter.py", line 201, in run
self.halt(reason=inst.reason, exit_status=inst.exit_status)
File "/home/david/Env/ssenv/lib/python3.4/site-packages/gunicorn/arbiter.py", line 297, in halt
self.stop()
File "/home/david/Env/ssenv/lib/python3.4/site-packages/gunicorn/arbiter.py", line 342, in stop
time.sleep(0.1)
File "/home/david/Env/ssenv/lib/python3.4/site-packages/gunicorn/arbiter.py", line 214, in handle_chld
self.reap_workers()
File "/home/david/Env/ssenv/lib/python3.4/site-packages/gunicorn/arbiter.py", line 459, in reap_workers
raise HaltServer(reason, self.WORKER_BOOT_ERROR)
gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.' 3>
[2015-10-07 07:01:24 -0400] [8904] [INFO] Starting gunicorn 19.3.0
[2015-10-07 07:01:24 -0400] [8904] [INFO] Listening at: unix:/home/david/StockSearch/stocksearch/stocksearch.sock (8904)
[2015-10-07 07:01:24 -0400] [8904] [INFO] Using worker: sync
[2015-10-07 07:01:24 -0400] [8908] [INFO] Booting worker with pid: 8908
(ssenv)david@stockmeup:~/StockSearch/stocksearch$ sudo tail -30 /var/log/upstart/gunicorn.log
File "/home/david/Env/ssenv/lib/python3.4/site-packages/django/conf/__init__.py", line 113, in __init__
raise ImproperlyConfigured("The SECRET_KEY setting must not be empty.")
django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty.
Traceback (most recent call last):
File "/home/david/Env/ssenv/lib/python3.4/site-packages/gunicorn/arbiter.py", line 507, in spawn_worker
worker.init_process()
File "/home/david/Env/ssenv/lib/python3.4/site-packages/gunicorn/workers/base.py", line 118, in init_process
self.wsgi = self.app.wsgi()
File "/home/david/Env/ssenv/lib/python3.4/site-packages/gunicorn/app/base.py", line 67, in wsgi
self.callable = self.load()
File "/home/david/Env/ssenv/lib/python3.4/site-packages/gunicorn/app/wsgiapp.py", line 65, in load
return self.load_wsgiapp()
File "/home/david/Env/ssenv/lib/python3.4/site-packages/gunicorn/app/wsgiapp.py", line 52, in load_wsgiapp
return util.import_app(self.app_uri)
File "/home/david/Env/ssenv/lib/python3.4/site-packages/gunicorn/util.py", line 355, in import_app
__import__(module)
File "/home/david/StockSearch/stocksearch/stocksearch/wsgi.py", line 16, in <module>
application = get_wsgi_application()
File "/home/david/Env/ssenv/lib/python3.4/site-packages/django/core/wsgi.py", line 14, in get_wsgi_application
django.setup()
File "/home/david/Env/ssenv/lib/python3.4/site-packages/django/__init__.py", line 17, in setup
configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
File "/home/david/Env/ssenv/lib/python3.4/site-packages/django/conf/__init__.py", line 48, in __getattr__
self._setup(name)
File "/home/david/Env/ssenv/lib/python3.4/site-packages/django/conf/__init__.py", line 44, in _setup
self._wrapped = Settings(settings_module)
File "/home/david/Env/ssenv/lib/python3.4/site-packages/django/conf/__init__.py", line 113, in __init__
raise ImproperlyConfigured("The SECRET_KEY setting must not be empty.")
django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty.
[2015-10-07 07:01:28 -0400] [8960] [INFO] Worker exiting (pid: 8960)
所以基本上它开始了,引发 gunicorn.errors.HaltServer
在此期间它再次引发该异常
再次启动,并引发 Django 配置不当的错误,即使我已经像这样设置了 settings.py:
SECRET_KEY = os.environ['SECRET_KEY']
并在我的激活后文件中设置环境变量:
export DJANGO_SETTINGS_MODULE='stocksearch.settings.production'
export SECRET_KEY='obscured sensitive info'
最佳答案
post_activate
与这里的任何内容都没有任何关系。您应该将它们放入您的 upstart 配置中:
env DJANGO_SETTINGS_MODULE='stocksearch.settings.production'
或者在 wsgi 文件本身中:
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "stocksearch.settings.production")
关于python - 当从 Upstart 运行时没有获得环境变量时,Gunicorn + Django 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32990628/
我的守护程序重新启动时遇到问题。当守护进程崩溃时,upstart 不会生成守护进程。这是我的 Upstart 初始化文件。请指教。 description "bezkon watch dog" sta
使用 debian 包将 kaa -iot 平台配置为单节点时。我收到以下错误。 himanshu@himpc:~/kaa/deb$ sudo dpkg -i kaa-node-0.10.0.deb
我对 bash 脚本编写相当陌生,但感觉我真的缺少一些基本的东西。我正在尝试 Mike Perham's upstart sidekiq script 的几乎没有修改的版本在 Ubuntu 14.04
当我尝试使用 virtualbox 在标准 ubuntu/vivid64 上“vagrant up”时出现以下错误:initctl: Unable to connect to Upstart: Fai
我正进入(状态 $ sudo initctl list initctl: Unable to connect to Upstart: Failed to connect to socket /com/
在我的 Upstart 脚本(Ubuntu 12.04.2)中,我有以下内容: exec touch /tmp/000 exec echo "ds1307 0x68" > /sys/class/i2
我正在定制在基于 arm 的嵌入式系统上运行的 ubuntu。我没有使用 plymouth (splash) 来隐藏启动消息,而是使用了一个名为 psplash 的自定义可执行文件,它直接写入帧缓冲区
我使用了 Upstart 为 console output 提供的示例. /etc/init/test.conf console output pre-start script # Perform
我正在尝试创建一个服务/脚本来自动启动和控制我的 nodejs 服务器,但它似乎根本不起作用。 首先,我使用这个来源作为主要引用http://kvz.io/blog/2009/12/15/run-no
我在 Ubuntu 上使用 upstart 来管理服务。它写信给 /var/log/upstart/.log .此文件中的错误没有时间戳,这使得诊断问题变得困难。 有没有办法——配置文件中的某种节——
我在亚马逊Linux上按照本教程https://uwsgi.readthedocs.org/en/latest/Upstart.html创建了uwsgi文件。尽管它似乎没有像Nginx那样运行,只是说
我有一个基于java的应用程序要在ubuntu上运行,为了启动服务器并使其保持 Activity 状态,我编写了一个upstart脚本。 问题是upstart服务启动了,它消耗了100%的cpu,这个
我是第一次尝试使用 upstart。我有两个要启动的 Java 程序。第一个是在 jetty 上运行的 solr 搜索服务器,第二个是自定义爬虫,应该在 solr 服务器启动后启动。 我的爬虫初始化脚
我制作了一个完全出乎我意料的 Upstart 脚本。 愚蠢的测试.conf script VALUE="PONG" echo "START" >> /var/log/stupid-test.l
我有这个 python 脚本可以通过图形窗口打开 VNC session 。它坐在那里阻塞等待特定消息进入,然后在从命令提示符运行时成功生成图形窗口。 但是如果我将它放在一个 Upstart .con
我有 python 程序(几个脚本)需要在 CentOS 6.4 远程机器上作为守护进程运行。所以,我认为 Upstart 是正确的选择。 基本要求是: 启动/停止守护程序的简单方法 如果应用程序崩溃
我有一个要部署的 Django 应用程序。我想使用 upstart 来运行该应用程序。 到目前为止,我已经将 upstart.conf 文件添加到/etc/init 并尝试使用 运行它 start u
我很难找出我的脚本出了什么问题。我是 Linux 世界的新手,所以我可能会错过一些非常微不足道的东西。我有一个 python 脚本,我想在电脑启动时运行一个守护进程。我还想在崩溃时重生它。在谷歌搜索了
这是我在 Ubuntu 11.04 上遇到的一个问题,我为 Node 和 Nginx 制作了两个 upstart 脚本。我将在这里使用 Node 作为示例。我在 http://howtonode.or
我是 Upstart 。下面是“myserver”守护进程的 Upstart 配置。它工作正常,但我想在发出“stop myserver”时执行自定义命令,以彻底关闭它。 start-stop-dae
我是一名优秀的程序员,十分优秀!