Redis
 sql >> Teknologi Basis Data >  >> NoSQL >> Redis

Python Reddis Queue ValueError:Fungsi dari modul __main__ tidak dapat diproses oleh pekerja

Bagi kode yang diberikan menjadi dua file:count_words.py :

import requests

def count_words_at_url(url):
    resp = requests.get(url)
    return len(resp.text.split())

dan main.py (di mana Anda akan mengimpor fungsi yang diperlukan):

from rq import Connection, Queue
from redis import Redis
from count_words import count_words_at_url # added import!
redis_conn = Redis()
q = Queue(connection=redis_conn)
job = q.enqueue(count_words_at_url, 'http://nvie.com')
print job

Saya selalu memisahkan tugas dari logika yang menjalankan tugas tersebut ke file yang berbeda. Itu hanya organisasi yang lebih baik. Perhatikan juga bahwa Anda dapat menentukan kelas tugas dan mengimpor/menjadwalkan tugas dari kelas itu alih-alih struktur (yang terlalu disederhanakan) yang saya sarankan di atas. Ini akan membuat Anda maju.. Juga lihat di sini untuk mengonfirmasi bahwa Anda bukan orang pertama yang kesulitan dengan contoh ini. RQ bagus setelah Anda menguasainya.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. redis timeout dengan predis

  2. Apakah ada cara untuk menemukan IP node cluster baru secara otomatis di Redis Cluster dengan Selada

  3. Docker-compose - Redis di 0.0.0.0 bukannya 127.0.0.1

  4. API E-Commerce Dibuat Dengan Node-Js, TypeScript, PostgreSQL, Redis, dan Kafka

  5. kesalahan koneksi redis dalam wadah buruh pelabuhan