cari

Rumah  >  Soal Jawab  >  teks badan

python - Operasi teragih pyspider berjaya, dan 2 hamba sedang berjalan, tetapi masa tidak dipendekkan?

1 tuan, 2 hamba, di bawah mesin maya ubuntu, konfigurasi adalah seperti berikut:

master 的 config.json

{
  "taskdb": "mysql+taskdb://pyspider:pyspider-pass@192.168.209.128:3306/taskdb",
  "projectdb": "mysql+projectdb://pyspider:pyspider-pass@192.168.209.128:3306/projectdb",
  "resultdb": "mysql+resultdb://pyspider:pyspider-pass@192.168.209.128:3306/resultdb",
  "message_queue": "redis://192.168.209.128:6379/db",
  "phantomjs-proxy": "192.168.209.128:25555",
  "scheduler":{
     "xmlrpc-host":"0.0.0.0",
     "delete-time":10},
  "webui": {
    "port": 5555,
    "username": "",
    "password": "",
    "need-auth": false}
}

Jalankan pada hos

/usr/local/bin/pyspider -c /home/pu/pyspider/conf.json schedule
/usr/local/bin/pyspider -c /home/pu/pyspider/conf.json webui
/usr/local/ bin/pyspider -c /home/pu/pyspider/conf.json phantomjs

slave 的 config.json:

{
  "taskdb": "mysql+taskdb://pyspider:pyspider-pass@192.168.209.128:3306/taskdb",
  "projectdb": "mysql+projectdb://pyspider:pyspider-pass@192.168.209.128:3306/projectdb",
  "resultdb": "mysql+resultdb://pyspider:pyspider-pass@192.168.209.128:3306/resultdb",
  "message_queue": "redis://192.168.209.128:6379/db",
  "phantomjs-proxy": "192.168.209.128:25555",
  "fetcher":{"xmlrpc-host":"192.168.209.128"}
}

Lari dua orang budak

/usr/local/bin/pyspider -c /home/pu/pyspider/conf.json fetcher
/usr/local/bin/pyspider -c /home/pu/pyspider/conf.json processor
/usr/local/ bin/pyspider -c /home/pu/pyspider/conf.json result_worker

Tiga terminal

Saya menjalankannya dari baris arahan dahulu. Saya belum menggunakan Penyelia untuk mengurus proses. Saya mahu menggunakan ini untuk mengurus proses selepas penyahpepijatan yang diedarkan berjaya. Tetapi ia adalah pelik. Program crawler boleh berjalan dengan lancar, tetapi masa yang diambil untuk menjalankannya pada satu mesin adalah sama seperti semasa menjalankan tiga mesin bersama-sama Ia hanya beberapa saat berbeza.

Saya melihat pada output maklumat oleh terminal Ia adalah bahawa URL yang diekstrak oleh dua hamba tidak berulang, tetapi masa dipisahkan dengan selang Sebagai contoh, slave1 berjalan selama 4 saat, dan kemudian slave2 berjalan selama 3 saat. Mereka tidak selari. Terdapat perintah, sangat pelik! Mungkinkah dalam jadual, tugasan diambil satu persatu dan tidak boleh diambil serentak?

滿天的星座滿天的星座2713 hari yang lalu984

membalas semua(1)saya akan balas

  • 迷茫

    迷茫2017-06-28 09:24:42

    Kawal kelajuan dalam konsol. Tidak kira sama ada anda diedarkan atau tidak, selagi kelajuan ditetapkan kepada sama, ia akan mengambil masa yang sama. Hanya apabila sumber perkakasan tidak mencukupi (atau apabila perkakasan mengalami kesesakan dan tidak dapat mencapai kelajuan yang anda tetapkan) sistem yang diedarkan akan berjalan lebih pantas? Saya faham itu secara peribadi

    balas
    0
  • Batalbalas