Rq: apapun untuk shutdown pekerja tanpa hangat?

Dibuat pada 8 Agu 2013  ·  8Komentar  ·  Sumber: rq/rq

Saya menggunakan supervisor untuk mengelola pekerja rq saya
dan conf supervisor saya seperti ini

[program:rq-upload]
command=rqworker -H 10.182.63.61 -P /data/CDN_DATA_ANA/log/letvlog --name=10.180.153.80_re_upload_%(process_num)s log_upload_10.180.153.80
directory=/data/CDN_DATA_ANA/log/log
stopsignal=TERM
autorestart=true
autostart = true
startsecs = 5
process_name = rq_upload%(process_num)s
numprocs=2
user = root
redirect_stderr = true
stdout_logfile = /logs/rq-upload.log

Tetapi ketika saya me-restart gunakan supervisorctl -c /etc/supervisord.conf update re-upload:*
Itu selalu memberi tahu saya nama pekerja yang telah digunakan

Komentar yang paling membantu

Saya memiliki masalah yang sama, ketika saya menghentikan rqworker dari perintah docker-compose running dengan Ctrl+c dan ingin memulainya lagi.

worker_1  |   File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 889, in invoke
worker_1  |     return ctx.invoke(self.callback, **ctx.params)
worker_1  |   File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 534, in invoke
worker_1  |     return callback(*args, **kwargs)
worker_1  |   File "/usr/local/lib/python2.7/dist-packages/rq/cli/cli.py", line 206, in worker
worker_1  |     w.work(burst=burst)
worker_1  |   File "/usr/local/lib/python2.7/dist-packages/rq/worker.py", line 431, in work
worker_1  |     self.register_birth()
worker_1  |   File "/usr/local/lib/python2.7/dist-packages/rq/worker.py", line 251, in register_birth
worker_1  |     raise ValueError(msg.format(self.name))
worker_1  | ValueError: There exists an active worker named u'5d36705967ac.22' already

Semua 8 komentar

Traceback (most recent call last):
  File "/usr/bin/rqworker", line 9, in <module>
    load_entry_point('rq==0.3.8', 'console_scripts', 'rqworker')()
  File "/usr/lib/python2.6/site-packages/rq/scripts/rqworker.py", line 84, in main
    w.work(burst=args.burst)
  File "/usr/lib/python2.6/site-packages/rq/worker.py", line 294, in work
    self.register_birth()
  File "/usr/lib/python2.6/site-packages/rq/worker.py", line 197, in register_birth
    'already.' % (self.name,))
ValueError: There exists an active worker named '10.181.153.149_rq_13' already.

Saya menutup masalah lama. Jika masalah ini masih berlaku dan memerlukan perhatian saya, saya meminta Anda untuk membukanya kembali atau mengajukan masalah baru. Terima kasih.

Saya memiliki masalah yang sama, ketika saya menghentikan rqworker dari perintah docker-compose running dengan Ctrl+c dan ingin memulainya lagi.

worker_1  |   File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 889, in invoke
worker_1  |     return ctx.invoke(self.callback, **ctx.params)
worker_1  |   File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 534, in invoke
worker_1  |     return callback(*args, **kwargs)
worker_1  |   File "/usr/local/lib/python2.7/dist-packages/rq/cli/cli.py", line 206, in worker
worker_1  |     w.work(burst=burst)
worker_1  |   File "/usr/local/lib/python2.7/dist-packages/rq/worker.py", line 431, in work
worker_1  |     self.register_birth()
worker_1  |   File "/usr/local/lib/python2.7/dist-packages/rq/worker.py", line 251, in register_birth
worker_1  |     raise ValueError(msg.format(self.name))
worker_1  | ValueError: There exists an active worker named u'5d36705967ac.22' already

Masalah yang sama disini.

Masalah yang sama di sini, saya mengatasinya dengan hanya mengeluarkan dua sinyal SIGINT kepada pekerja alih-alih meninggalkan penghentian proses proses supervisor ( docker-compose dalam kasus saya). Ini membuat pekerja mati dengan bersih.

docker-compose run worker-service
lalu CTRL+C
Bekerja untuk saya.

Saya memiliki masalah yang sama, tetapi saya memulai rq sebagai proses latar belakang, jadi perbaikan italomaia tidak berlaku. Apakah ada cara untuk mengatasi ini?

rq worker $RQ_WORKER_NAME -u $REDIS_DB_URL &

ya, kirimkan saja sinyal mematikan standar.

ps -aux | grep "rq worker"

kemudian ambil id proses (angka kedua) dan jalankan

kill <proc id>
Apakah halaman ini membantu?
0 / 5 - 0 peringkat