質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Redis

Redisは、オープンソースのkey-valueデータストアで、NoSQLに分類されます。すべてのデータをメモリ上に保存するため、処理が極めて高速です。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

756閲覧

redisを用いたファイルを起動できません

hamazon

総合スコア16

Redis

Redisは、オープンソースのkey-valueデータストアで、NoSQLに分類されます。すべてのデータをメモリ上に保存するため、処理が極めて高速です。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/10/22 02:13

編集2020/10/22 02:17

前提・実現したいこと

入門Python3(オライリー・ジャパン)のp344において、1つ目のプログラムをバックグラウンドで起動した後に2つ目のプログラムを起動したいです。
正しく起動すると以下のように表示されます。

Python3

1[2] 81691 2Dryer is starting

1つ目のプログラムredis_washer.pyは以下のファイルです。

Python3

1import redis 2conn = redis.Redis() 3print('Dryer is starting') 4while True: 5 msg = conn.blpop('dishes') 6 if not msg: 7 break 8 val = msg[1].decode('utf-8') 9 if val == 'quit': 10 break 11 print('Dried', val) 12print('Dishes are dried')

発生している問題・エラーメッセージ

以下のように接続のエラーなどが発生します。

該当のソースコード

Python3

1kotaMBA:python kota$ python redis_dryer.py & 2[1] 12722 3kotaMBA:python kota$ Dryer is starting 4Traceback (most recent call last): 5 File "/Users/kota/.pyenv/versions/3.6.5/lib/python3.6/site-packages/redis/connection.py", line 484, in connect 6 sock = self._connect() 7 File "/Users/kota/.pyenv/versions/3.6.5/lib/python3.6/site-packages/redis/connection.py", line 541, in _connect 8 raise err 9 File "/Users/kota/.pyenv/versions/3.6.5/lib/python3.6/site-packages/redis/connection.py", line 529, in _connect 10 sock.connect(socket_address) 11ConnectionRefusedError: [Errno 61] Connection refused 12 13During handling of the above exception, another exception occurred: 14 15Traceback (most recent call last): 16 File "/Users/kota/.pyenv/versions/3.6.5/lib/python3.6/site-packages/redis/client.py", line 667, in execute_command 17 connection.send_command(*args) 18 File "/Users/kota/.pyenv/versions/3.6.5/lib/python3.6/site-packages/redis/connection.py", line 610, in send_command 19 self.send_packed_command(self.pack_command(*args)) 20 File "/Users/kota/.pyenv/versions/3.6.5/lib/python3.6/site-packages/redis/connection.py", line 585, in send_packed_command 21 self.connect() 22 File "/Users/kota/.pyenv/versions/3.6.5/lib/python3.6/site-packages/redis/connection.py", line 489, in connect 23 raise ConnectionError(self._error_message(e)) 24redis.exceptions.ConnectionError: Error 61 connecting to localhost:6379. Connection refused. 25 26During handling of the above exception, another exception occurred: 27 28Traceback (most recent call last): 29 File "/Users/kota/.pyenv/versions/3.6.5/lib/python3.6/site-packages/redis/connection.py", line 484, in connect 30 sock = self._connect() 31 File "/Users/kota/.pyenv/versions/3.6.5/lib/python3.6/site-packages/redis/connection.py", line 541, in _connect 32 raise err 33 File "/Users/kota/.pyenv/versions/3.6.5/lib/python3.6/site-packages/redis/connection.py", line 529, in _connect 34 sock.connect(socket_address) 35ConnectionRefusedError: [Errno 61] Connection refused 36 37During handling of the above exception, another exception occurred: 38 39Traceback (most recent call last): 40 File "redis_dryer.py", line 5, in <module> 41 msg = conn.blpop('dishes') 42 File "/Users/kota/.pyenv/versions/3.6.5/lib/python3.6/site-packages/redis/client.py", line 1269, in blpop 43 return self.execute_command('BLPOP', *keys) 44 File "/Users/kota/.pyenv/versions/3.6.5/lib/python3.6/site-packages/redis/client.py", line 673, in execute_command 45 connection.send_command(*args) 46 File "/Users/kota/.pyenv/versions/3.6.5/lib/python3.6/site-packages/redis/connection.py", line 610, in send_command 47 self.send_packed_command(self.pack_command(*args)) 48 File "/Users/kota/.pyenv/versions/3.6.5/lib/python3.6/site-packages/redis/connection.py", line 585, in send_packed_command 49 self.connect() 50 File "/Users/kota/.pyenv/versions/3.6.5/lib/python3.6/site-packages/redis/connection.py", line 489, in connect 51 raise ConnectionError(self._error_message(e)) 52redis.exceptions.ConnectionError: Error 61 connecting to localhost:6379. Connection refused. 53

試したこと

ファイルの文法ミスのチェック

補足情報(FW/ツールのバージョンなど)

PCはMac、Pythonはver3.6.5を用いています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

redis.exceptions.ConnectionError: Error 61 connecting to localhost:6379. Connection refused.

エラーの原因はlocalhostのポート6379に接続ができないことです。

ポート6379はredisがデフォルトで使用するポートですが、redisは起動しているのでしょうか?
もし、起動している場合は設定が"maxclients 1"になっていないか確認してみてください。


その他
redis_washer.pyとありますが、提示のソースコードのコメントはdryer?ぽく見えますね。
ソースコード合ってますか?

投稿2020/11/14 02:21

sukekeke0

総合スコア331

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問