チュートリアルのチュートリアルの単純な非同期タスクツール--rq使用のシンプルな非同期タスクツール--rq使用

チュートリアルの単純な非同期タスクツール--rq使用

 

RQは、非同期タスクのためのシンプルで軽量なツールです。
ユーザーがサイトで長い(以上2分以内)で要求を開始する場合、同期方式ならば、サーバは、時間の経過とともに返されます。
今度は、仕事を得るとポーリングの結果を実装するには、または他の手段によって進行し、その後、非同期リクエスト、ユーザーが開始要求、ジョブを実行する別のプロセスをスローするようにサーバーを使用して、ユーザーにすぐに戻り、およびする必要があります。
RQ効果は同等です「別のプロセス。」

インストール1.

インストールパッケージのpython-RQ

pip install rq

2.rq_worker

rq_workerは、別のプロセスであるあなたが実行し、実行するために必要なタスクをリッスンします。
rq_worker.py

import redis
from rq import Worker, Queue, Connection

listen = ['high', 'default', 'low'] pool = redis.ConnectionPool(db=0, host='localhost', port=6379, password='passwd') redis_conn = redis.Redis(connection_pool=pool) if __name__ == '__main__': with Connection(redis_conn): worker = Worker(map(Queue, listen)) worker.work()

スタート

python rq_worker.py

RQの仕事を公開3

機能1)定義されたジョブの実行

funcs.py

def test_func(url, name):
    return name 

注意モジュールを公開する機能やタスクはもはやPythonのファイルで作業を行うことができますが唯一のインポートでインポートすることができます。
印刷情報はrq_workerの実行の過程でここに表示されます。

from funcs import get_url
from rq import Queue,job
pool = redis.ConnectionPool(db=0, host='localhost', port=6379, password='passwd') redis_conn = redis.Redis(connection_pool=pool) if __name__ == '__main__': rq_queue=Queue(connection=redis_conn) job=rq_queue.enqueue(test_func, 'http://www.baidu.com',name='kevin')

キューは、クラス(この例では、プロジェクトは、単一の実施形態にすることができる)インスタンス化する
タスクを発行し、エンキュー方法。最初のパラメータが関数の名前を行う関数への入力パラメータ、続いて行われ、それは引数もkwargsからとすることができることができます。
ここでは、クラスのジョブのインスタンスを返します。

4.レビュージョブ実行の状況

公開された返されたジョブジョブ・クラス定義ファイルがrq.jobに位置している、あなたは主にAPIで使用し、そのAPIを見て行くことができます:

print job.result  # 如果函数执行正常,返回作业的return,如果有异常,返回None,如果作业没执行,也是返回None
print job.get_status()  # 获取作业的状态 queued还在队列中,failed:执行失败,finished 完成
job.set_id('my_id') # 为作业设置一个id,如果没有set_id的操作,作业的id会是一个随机的唯一的字符串 my_id = job.get_id() # 获取作业的id print job.to_dict() # 把job实例转化成一个字典 job.delete() # 从redis中把该作业删除掉 job.cancel() # 取消作业,尽管作业已经被执行,也可以取消 from rq import job job.Job.exists(my_id, redis_conn) # 返回是否存在该id的作业 my_job = job.Job(my_id, redis_conn) #创建该作业id的实例


分散Pythonのフレームセロリパラレル

セロリの公式ウェブサイト:http://www.celeryproject.org
セロリ、英語での公式文書:http://docs.celeryproject.org/en/latest/index.html
セロリ公式文書の中国語版:http://docs.jinkan.org /ドキュメント/セロリ

セロリの設定:http://docs.jinkan.org/docs/celery/configuration.html#configuration

参考:http://www.cnblogs.com/landpack/p/5564768.html     http://blog.csdn.net/happyAnger6/article/details/51408266

http://www.cnblogs.com/forward-wang/p/5970806.html

分散キューアーティファクトセロリ:https://segmentfault.com/a/1190000008022050
セロリベストプラクティス:https://my.oschina.net/siddontang/blog/284107
セロリ分散タスクキュークイックスタート:HTTP:// WWW .cnblogs.com / alex3714 / P / 6351797.html
:セロリクイックスタートチュートリアルアーティファクト非同期タスクhttps://blog.csdn.net/chenqiuge1984/article/details/80127446
セロリ定期的に使用するタスクマネージャのPythonのピース:HTTP:// student-lp.iteye.com/blog/2093397
セロリアーティファクト非同期タスク:http://python.jobbole.com/87086/
セロリタスクスケジューリングの練習のためのフレームワーク:https://blog.csdn.net/qq_28921653/article/details/ 79555212
セロリ-4.1ユーザーガイド:モニタリングと管理ガイド:https://blog.csdn.net/libing_thinking/article/details/78592801
セロリインストールして使用:https://blog.csdn.net/u012325060/article/details/ 79292243
セロリの研究ノート(A):https://blog.csdn.net/sdulsj/article/details/73741350

RQは、非同期タスクのためのシンプルで軽量なツールです。
ユーザーがサイトで長い(以上2分以内)で要求を開始する場合、同期方式ならば、サーバは、時間の経過とともに返されます。
今度は、仕事を得るとポーリングの結果を実装するには、または他の手段によって進行し、その後、非同期リクエスト、ユーザーが開始要求、ジョブを実行する別のプロセスをスローするようにサーバーを使用して、ユーザーにすぐに戻り、およびする必要があります。
RQ効果は同等です「別のプロセス。」

インストール1.

インストールパッケージのpython-RQ

pip install rq

2.rq_worker

rq_workerは、別のプロセスであるあなたが実行し、実行するために必要なタスクをリッスンします。
rq_worker.py

import redis
from rq import Worker, Queue, Connection

listen = ['high', 'default', 'low'] pool = redis.ConnectionPool(db=0, host='localhost', port=6379, password='passwd') redis_conn = redis.Redis(connection_pool=pool) if __name__ == '__main__': with Connection(redis_conn): worker = Worker(map(Queue, listen)) worker.work()

スタート

python rq_worker.py

RQの仕事を公開3

機能1)定義されたジョブの実行

funcs.py

def test_func(url, name):
    return name 

注意モジュールを公開する機能やタスクはもはやPythonのファイルで作業を行うことができますが唯一のインポートでインポートすることができます。
印刷情報はrq_workerの実行の過程でここに表示されます。

from funcs import get_url
from rq import Queue,job
pool = redis.ConnectionPool(db=0, host='localhost', port=6379, password='passwd') redis_conn = redis.Redis(connection_pool=pool) if __name__ == '__main__': rq_queue=Queue(connection=redis_conn) job=rq_queue.enqueue(test_func, 'http://www.baidu.com',name='kevin')

キューは、クラス(この例では、プロジェクトは、単一の実施形態にすることができる)インスタンス化する
タスクを発行し、エンキュー方法。最初のパラメータが関数の名前を行う関数への入力パラメータ、続いて行われ、それは引数もkwargsからとすることができることができます。
ここでは、クラスのジョブのインスタンスを返します。

4.レビュージョブ実行の状況

公開された返されたジョブジョブ・クラス定義ファイルがrq.jobに位置している、あなたは主にAPIで使用し、そのAPIを見て行くことができます:

print job.result  # 如果函数执行正常,返回作业的return,如果有异常,返回None,如果作业没执行,也是返回None
print job.get_status()  # 获取作业的状态 queued还在队列中,failed:执行失败,finished 完成
job.set_id('my_id') # 为作业设置一个id,如果没有set_id的操作,作业的id会是一个随机的唯一的字符串 my_id = job.get_id() # 获取作业的id print job.to_dict() # 把job实例转化成一个字典 job.delete() # 从redis中把该作业删除掉 job.cancel() # 取消作业,尽管作业已经被执行,也可以取消 from rq import job job.Job.exists(my_id, redis_conn) # 返回是否存在该id的作业 my_job = job.Job(my_id, redis_conn) #创建该作业id的实例


分散Pythonのフレームセロリパラレル

セロリの公式ウェブサイト:http://www.celeryproject.org
セロリ、英語での公式文書:http://docs.celeryproject.org/en/latest/index.html
セロリ公式文書の中国語版:http://docs.jinkan.org /ドキュメント/セロリ

セロリの設定:http://docs.jinkan.org/docs/celery/configuration.html#configuration

参考:http://www.cnblogs.com/landpack/p/5564768.html     http://blog.csdn.net/happyAnger6/article/details/51408266

http://www.cnblogs.com/forward-wang/p/5970806.html

分散キューアーティファクトセロリ:https://segmentfault.com/a/1190000008022050
セロリベストプラクティス:https://my.oschina.net/siddontang/blog/284107
セロリ分散タスクキュークイックスタート:HTTP:// WWW .cnblogs.com / alex3714 / P / 6351797.html
:セロリクイックスタートチュートリアルアーティファクト非同期タスクhttps://blog.csdn.net/chenqiuge1984/article/details/80127446
セロリ定期的に使用するタスクマネージャのPythonのピース:HTTP:// student-lp.iteye.com/blog/2093397
セロリアーティファクト非同期タスク:http://python.jobbole.com/87086/
セロリタスクスケジューリングの練習のためのフレームワーク:https://blog.csdn.net/qq_28921653/article/details/ 79555212
セロリ-4.1ユーザーガイド:モニタリングと管理ガイド:https://blog.csdn.net/libing_thinking/article/details/78592801
セロリインストールして使用:https://blog.csdn.net/u012325060/article/details/ 79292243
セロリの研究ノート(A):https://blog.csdn.net/sdulsj/article/details/73741350

おすすめ

転載: www.cnblogs.com/leijiangtao/p/11804685.html