2017-01-19 111 views
3

我正在Heroku上部署一個腳本(Scrapy python),我希望它在早上啓動4次。如何在Heroku上安排python腳本

我絕對可以通過連接到我的Heroku的帳戶運行它(我有一個免費的計劃)和Windows命令行中鍵入此:

heroku run scrapy crawl sytadin 

但我有一些問題,當我嘗試運行它通過Heroku調度器。它問我是否要寫$ rake之類的東西。 我以前從未使用rake,是否在run之前或之後使用run? 我應該先使用關鍵字heroku嗎?

我不知道,一切我嘗試失敗了,因爲我可以在日誌中看到:

2017-01-19T23:47:05.305039+00:00 heroku[scheduler.3450]: Starting process with command `python "sytadin" crawl` 
2017-01-19T23:47:05.974030+00:00 heroku[scheduler.3450]: State changed from starting to up 
2017-01-19T23:47:08.335845+00:00 heroku[scheduler.3450]: State changed from up to complete 
2017-01-19T23:47:08.204289+00:00 app[scheduler.3450]: /app/.heroku/python/bin/python: can't find '__main__' module in 'sytadin' 
2017-01-19T23:47:08.326081+00:00 heroku[scheduler.3450]: Process exited with status 1 
2017-01-19T23:48:27.681890+00:00 app[api]: Starting process with command `python sytadin/sytadin.py crawl` by user [email protected] 
2017-01-19T23:48:35.571615+00:00 heroku[scheduler.6352]: Starting process with command `python sytadin/sytadin.py crawl` 
2017-01-19T23:48:36.156250+00:00 heroku[scheduler.6352]: State changed from starting to up 
2017-01-19T23:48:37.424920+00:00 heroku[scheduler.6352]: Process exited with status 2 
2017-01-19T23:48:37.360306+00:00 app[scheduler.6352]: python: can't open file 'sytadin/sytadin.py': [Errno 2] No such file or directory 
2017-01-19T23:48:37.445476+00:00 heroku[scheduler.6352]: State changed from up to complete 

正如你可以看到我試過我在網上找到不同的可能性,但它不工作正確:(

任何猜測我的python腳本?:)

回答

6

Heroku的調度基本上只是做heroku run +任何命令時鍵入那裏。

所以,你的情況,因爲你的scrapy履帶成功運行,當你做:heroku run scrapy crawl sytadin,您可以創建一個調度運行規則:

scrapy crawl sytadin 

這將這樣的伎倆=)

+0

我我很愚蠢。非常感謝你++ – Bergenist