0
我正在構建我的第一個包含scrapy的項目。在我的開發服務器(Windows)上一切正常,但在heroku上有一些問題。我正在使用爲我處理整合工作的django-dynamic-scraper。如何在heroku和django-dynamic-scraper上使用scrapy服務器上的芹菜工作?
在Windows上我運行在單獨的命令下面的命令提示:
: scrapy server
: python manage.py celeryd -l info
: python manage.py celerybeat
在Heroku我運行以下命令:
: heroku bash >heroku run scrappy server (solves app not found issue)
: heroku run python manage.py celeryd -l info -B --settings=myapp.production
實際dejango應用程序有沒有錯誤或問題,我可以訪問管理網站。鬥志旺盛的服務器上運行:
: Scrapyd web console available at http://0.0.0.0:6800/
: [Launcher] Scrapyd started: max_proc=16, runner='scrapyd.runner'
: Site starting on 6800
: Starting factory <twisted.web.server.Site instanceat 0x7f1511f62ab8>
和芹菜節拍和工人正在工作:
: INFO/Beat] beat: Starting...
: INFO/Beat] Writing entries...
: INFO/MainProcess] Connected to django://guest:**@localhost:5672//
: WARNING/MainProcess] [email protected] ready.
: INFO/Beat] Writing entries...
: INFO/Beat] Writing entries...
FIRST ISSUE:當週期性任務運行的蜘蛛被觸發我在芹菜日誌中出現以下錯誤。
File "/app/.heroku/python/lib/python2.7/site-packages/dynamic_scraper/utils/ta
sk_utils.py", line 31, in _pending_jobs
resp = urllib2.urlopen('http://localhost:6800/listjobs.json?project=default')
...
...
File "/app/.heroku/python/lib/python2.7/urllib2.py", line 1184, in do_open
raise URLError(err)
URLError: <urlopen error [Errno 111] Connection refused>
因此,似乎由於某種原因,heroku不允許芹菜訪問scrapy服務器。
下面是我的一些設置:
scrapy.cfg
[settings]
default = myapp.scraper.scrape.settings
[deploy]
#url = http://localhost:6800/
project = myapp
芹菜配置提前
[config]
app: default:0x7fd4983f6310 (djcelery.loaders.DjangoL
transport: django://guest:**@localhost:5672//
results: database
concurrency: 4 (prefork)
[queues]
celery exchange=celery(direct) key=celery
感謝,讓我知道如果你需要任何更多的信息。