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'
制限事項
RQワーカーは、fork()を実装するシステムでのみ実行されます。 最も注目すべきは、これはWindowsでワーカーを実行できないことを意味します。
WindowsLinuxサブシステムはFORKをサポートしています!!!
これを機能させる方法は次のとおりです。
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ではクロスプラットフォームのマルチプロセッシングモジュールを使用できます
最も参考になるコメント
WindowsLinuxサブシステムはFORKをサポートしています!!!
これを機能させる方法は次のとおりです。
pip install rq
してワーカーを実行できます。私の場合、 localhost:32768のコンテナーでredisを実行しています
したがって、サンプルに従うと、次のように接続とyoruワーカーを設定するように変更されます。
q = Queue(connection=Redis(host="localhost", port="32768"))
rq worker --url redis://localhost:32768
問題#937も参照してください