我有一个烧瓶应用程序,我目前正以下列方式启动:
#phantom.py
__author__ = 'uruddarraju'
from phantom.api.v1 import app
app.run(host='0.0.0.0', port=8080, debug=True)
Run Code Online (Sandbox Code Playgroud)
当我运行这个脚本时,它通过打印成功执行:
loading config from /home/uruddarraju/virtualenvs/PHANTOMNEW/Phantom/etc/phantom/phantom.ini
* Running on http://0.0.0.0:8080/
Run Code Online (Sandbox Code Playgroud)
但它永远不会返回,如果我执行CTRL-C,服务器就会停止.我正在尝试将其部署到生产环境,并希望在后台运行此启动,只要服务器启动,该进程就会保持运行状态.
做这个的最好方式是什么?
我设置rabbitmqserver并使用以下步骤添加了用户:
uruddarraju@*******:/usr/lib/rabbitmq/lib/rabbitmq_server-3.2.3$ sudo rabbitmqctl list_users
Listing users ...
guest [administrator]
phantom [administrator]
phantom1 []
sudo rabbitmqctl set_permissions -p phantom phantom1 ".*" ".*" ".*"
uruddarraju@******:/usr/lib/rabbitmq/lib/rabbitmq_server-3.2.3$ sudo netstat -tulpn | grep :5672
tcp6 0 0 :::5672 :::* LISTEN 31341/beam.smp
Run Code Online (Sandbox Code Playgroud)
我的芹菜配置是这样的:
BROKER_URL = 'amqp://phantom:phantom1@10.98.85.92/phantom'
Run Code Online (Sandbox Code Playgroud)
我的代码是这样的:
__author__ = 'uruddarraju'
from celery import Celery
import time
import celeryconfig
app = Celery('tasks')
app.config_from_object(celeryconfig)
@app.task
def add(x, y):
print 'sleeping'
time.sleep(20)
print 'awoke'
return x + y
Run Code Online (Sandbox Code Playgroud)
当我尝试跑步时
celery -A celery worker --loglevel=info
Run Code Online (Sandbox Code Playgroud)
我懂了
[2014-07-08 23:30:05,028: ERROR/MainProcess] …Run Code Online (Sandbox Code Playgroud)