私はHerokuでDjangoアプリケーションをホストしましたが、いくつかの制限があるため、私はHerokuからクラウドベースのサーバに移行しました。私はこのtutorialを実行して、Pythonのバックグラウンドタスクを実行しました。私は手動でpython worker.py
を実行してワーカープロセスを起動する必要がある以外はすべて正常に動作しています。アプリケーション開始時にpython-rqワーカープロセスを実行
私たちは、アプリケーション起動時にProcfileを使用してプロセスを実行できますが、今はubuntu 14.04を実行しているクラウドベースのサーバーです。では、Procfileの代替手段は何ですか?
worker.py
import os
import redis
from rq import Worker, Queue, Connection
listen = ['high', 'default', 'low']
redis_url = os.getenv('REDISTOGO_URL', 'redis://localhost:6379')
conn = redis.from_url(redis_url)
if __name__ == '__main__':
with Connection(conn):
worker = Worker(map(Queue, listen))
worker.work()
ありがとうございます!私はupstartを使用して終わった。 – Addicted