Rq: エラー「モジュール」オブジェクトには、Windows10では属性「フォーク」がありません

作成日 2017年07月18日  ·  3コメント  ·  ソース: rq/rq

Windows 10でrqを使用しようとしていますが、workerでエラーが発生します。

 File "c:\dev\src\rq\rq\worker.py", line 474, in work
    self.execute_job(job, queue)
  File "c:\dev\src\rq\rq\worker.py", line 592, in execute_job
    self.fork_work_horse(job, queue)
  File "c:\dev\src\rq\rq\worker.py", line 534, in fork_work_horse
    child_pid = os.fork()
AttributeError: 'module' object has no attribute 'fork'

最も参考になるコメント

WindowsLinuxサブシステムはFORKをサポートしています!!!

これを機能させる方法は次のとおりです。

  1. WindowsLinuxサブシステムが必要になります。 広くリリースされていない時点: https ://docs.microsoft.com/en-us/windows/wsl/install-win10
  2. 次に、Microsoft Storeにアクセスし、Linuxディストリビューションをインストールして実行します。(これにより、実際にインストールが実行されます)
  3. コマンドプロンプト(またはvs codeターミナル)でbashを実行し、そこからpip install rqしてワーカーを実行できます。

私の場合、 localhost:32768のコンテナーでredisを実行しています
したがって、サンプルに従うと、次のように接続とyoruワーカーを設定するように変更されます。

  • q = Queue(connection=Redis(host="localhost", port="32768"))
  • rq worker --url redis://localhost:32768

問題#937も参照してください

全てのコメント3件

Dcoumentationの抜粋:

制限事項
RQワーカーは、fork()を実装するシステムでのみ実行されます。 最も注目すべきは、これはWindowsでワーカーを実行できないことを意味します。

WindowsLinuxサブシステムはFORKをサポートしています!!!

これを機能させる方法は次のとおりです。

  1. WindowsLinuxサブシステムが必要になります。 広くリリースされていない時点: https ://docs.microsoft.com/en-us/windows/wsl/install-win10
  2. 次に、Microsoft Storeにアクセスし、Linuxディストリビューションをインストールして実行します。(これにより、実際にインストールが実行されます)
  3. コマンドプロンプト(またはvs codeターミナル)でbashを実行し、そこからpip install rqしてワーカーを実行できます。

私の場合、 localhost:32768のコンテナーでredisを実行しています
したがって、サンプルに従うと、次のように接続とyoruワーカーを設定するように変更されます。

  • q = Queue(connection=Redis(host="localhost", port="32768"))
  • rq worker --url redis://localhost:32768

問題#937も参照してください

os.fork()はLinuxオペレーティングシステムでのみ機能し、Win10ではクロスプラットフォームのマルチプロセッシングモジュールを使用できます

このページは役に立ちましたか?
0 / 5 - 0 評価