Rumah > pangkalan data > Redis > Cara menggunakan Redis dan Python untuk membangunkan fungsi baris gilir tugas yang diedarkan

Cara menggunakan Redis dan Python untuk membangunkan fungsi baris gilir tugas yang diedarkan

PHPz
Lepaskan: 2023-09-20 16:46:45
asal
1441 orang telah melayarinya

Cara menggunakan Redis dan Python untuk membangunkan fungsi baris gilir tugas yang diedarkan

Cara menggunakan Redis dan Python untuk membangunkan fungsi baris gilir tugas teragih

Pengenalan:
Dengan pembangunan aplikasi Internet, permintaan untuk keupayaan pemprosesan masa nyata dan serentak semakin tinggi, dan baris gilir tugasan yang diedarkan telah menjadi penyelesaian kepada alat penting pemprosesan tugas serentak. Artikel ini akan memperkenalkan secara terperinci cara menggunakan Redis dan Python untuk membangunkan fungsi baris gilir tugas yang diedarkan, dan menyediakan contoh kod khusus.

1. Gambaran keseluruhan

Baris gilir tugasan yang diedarkan digunakan untuk mengendalikan sejumlah besar tugasan serentak, mengagihkan tugas kepada berbilang nod pekerja untuk diproses dan memastikan keteraturan dan kebolehskalaan tugas. Redis ialah pangkalan data nilai kunci berprestasi tinggi yang menyediakan struktur data yang kaya dan arahan operasi dan sesuai untuk melaksanakan baris gilir tugas yang diedarkan.

2. Persediaan

  1. Pasang Redis
    Mula-mula anda perlu memasang Redis Anda boleh memuat turun pakej pemasangan yang sepadan dari tapak web rasmi Redis (https://redis.io/download) dan memasangnya mengikut dokumentasi rasmi.
  2. Pasang perpustakaan Python
    Gunakan pip untuk memasang perpustakaan redis dan rq:

    pip install redis
    pip install rq
    Salin selepas log masuk

3 Laksanakan baris gilir tugas teragih

Berikut ialah contoh mudah yang menunjukkan cara menggunakan Redis dan Python untuk membangunkan tugasan teragih.

  1. Buat tugasan

Pertama, kami mentakrifkan fungsi tugasan mudah untuk mengira jumlah dua nombor.

def add(x, y):
    return x + y
Salin selepas log masuk
  1. Buat baris gilir tugas

Tulis program pengeluar untuk membuat tugasan dan menambah tugasan pada baris gilir Redis.

from rq import Queue
from redis import Redis

# 连接Redis
redis_conn = Redis()

# 创建任务队列
queue = Queue(connection=redis_conn)
Salin selepas log masuk
  1. Tambah tugas pada baris gilir
# 添加任务到队列中
job = queue.enqueue(add, 2, 3)
Salin selepas log masuk
  1. Proses tugas

Tulis program pengguna untuk memproses tugas dalam baris gilir tugas.

from rq import Worker

# 创建工作节点
worker = Worker([queue], connection=redis_conn)

# 启动工作节点
worker.work()
Salin selepas log masuk
  1. Melaksanakan program pengeluar dan pengguna secara berasingan

Untuk melaksanakan baris gilir tugas yang diedarkan, kami perlu melaksanakan program pengeluar dan pengguna dalam proses yang berbeza.

Jalankan program pengguna dalam satu terminal:

$ rq worker
Salin selepas log masuk

Jalankan program pengeluar di terminal lain:

from rq import Queue
from redis import Redis

redis_conn = Redis()
queue = Queue(connection=redis_conn)

job = queue.enqueue(add, 2, 3)
Salin selepas log masuk

Baris gilir tugas yang diedarkan melaksanakan pengagihan dan pemprosesan tugas melalui struktur data baris gilir Redis. Program pengeluar menambah tugas pada baris gilir, manakala program pengguna mengambil tugas daripada baris gilir dan memprosesnya. Dengan memulakan berbilang program pengguna, kami boleh melaksanakan berbilang nod pekerja untuk memproses tugas secara selari dan meningkatkan keupayaan serentak pemprosesan tugas.

Kesimpulan:
Artikel ini memperkenalkan cara menggunakan Redis dan Python untuk membangunkan fungsi baris gilir tugas yang diedarkan. Dengan melaksanakan contoh baris gilir tugas yang mudah, kami menunjukkan keseluruhan proses penciptaan, penambahan dan pemprosesan tugas. Saya harap artikel ini akan membantu anda memahami prinsip dan pelaksanaan baris gilir tugas yang diedarkan, dan boleh digunakan untuk projek sebenar.

Atas ialah kandungan terperinci Cara menggunakan Redis dan Python untuk membangunkan fungsi baris gilir tugas yang diedarkan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan