前提・実現したいこと
pythonでLINE BOTを動かそうとしています。その際にngrokを使って動かそうとしているのですが、
Traceback (most recent call last): File "main.py", line 26, in <module> result = q.enqueue(perfect_order_USDJPY) File "C:\Users\Carnegie93\Anaconda3\lib\site-packages\rq\queue.py", line 327, in enqueue at_front=at_front, meta=meta File "C:\Users\Carnegie93\Anaconda3\lib\site-packages\rq\queue.py", line 277, in enqueue_call job = self.enqueue_job(job, at_front=at_front) File "C:\Users\Carnegie93\Anaconda3\lib\site-packages\rq\queue.py", line 353, in enqueue_job pipe.execute() File "C:\Users\Carnegie93\Anaconda3\lib\site-packages\redis\client.py", line 3514, in execute self.shard_hint) File "C:\Users\Carnegie93\Anaconda3\lib\site-packages\redis\connection.py", line 994, in get_connection connection.connect() File "C:\Users\Carnegie93\Anaconda3\lib\site-packages\redis\connection.py", line 497, in connect raise ConnectionError(self._error_message(e)) redis.exceptions.ConnectionError: Error 10061 connecting to localhost:6379. 対象のコンピューターによって拒否されたため、接続できませんでした。.
というエラーが出ます。result = q.enqueue(perfect_order_USDJPY)がエラーの原因だと思っています。
redis.exceptions.ConnectionError: Error 10061 connecting to localhost:6379.はredisがインストールされてないときに出るらしいですが、私はredisをインストールしています。
該当のソースコード
# import library from flask import Flask, request, abort from linebot.exceptions import ( InvalidSignatureError, LineBotApiError ) from linebot.models import ( FollowEvent, MessageEvent, TextMessage, TextSendMessage, ImageMessage, ImageSendMessage, TemplateSendMessage, ButtonsTemplate, PostbackTemplateAction, MessageTemplateAction, URITemplateAction ) import os from perfect_order import perfect_order_USDJPY from rq import Queue from worker import conn import settings import redis r = redis.StrictRedis(host='localhost', port=6379, db=0) # 軽量なウェブアプリケーションフレームワーク:Flask app = Flask(__name__) q = Queue(connection=conn) result = q.enqueue(perfect_order_USDJPY) line_bot_api ="アクセストークン" handler = "シークレットキー" #line_bot_api = settings.line_bot_api #handler = settings.handler @app.route("/callback", methods=['POST']) def callback(): # get X-Line-Signature header value signature = request.headers['X-Line-Signature'] # get request body as text body = request.get_data(as_text=True) app.logger.info("Request body: " + body) # handle webhook body try: handler.handle(body, signature) except InvalidSignatureError: abort(400) return 'OK' # MessageEvent @handler.add(MessageEvent, message=TextMessage) def handle_message(event): line_bot_api.reply_message( event.reply_token, TextSendMessage(text='暇人か!') ) if __name__ == "__main__": port = int(os.getenv("PORT", 5000)) app.run(host="0.0.0.0", port=port)
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
あなたの回答
tips
プレビュー