Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Menjalankan Skrip Hamba Secara Asynchronous dalam Python menggunakan Invocation Proses Tidak Menyekat?

Bagaimana untuk Menjalankan Skrip Hamba Secara Asynchronous dalam Python menggunakan Invocation Proses Tidak Menyekat?

DDD
Lepaskan: 2024-10-19 13:47:29
asal
748 orang telah melayarinya

How to Run a Slave Script Asynchronously in Python using Non-Blocking Process Invocation?

Subproses.panggilan tanpa menyekat

Dalam senario ini, anda berhasrat untuk menggunakan skrip hamba (slave.py) daripada skrip induk (main.py) secara tidak segerak . Khususnya, anda mahu slave.py dijalankan secara bebas daripada main.py selepas menerima hujah daripada main.py semasa pelaksanaan awalnya.

Untuk mencapai kelakuan tidak menyekat, anda harus menggunakan subprocess.Popen dan bukannya subprocess.call . Perbezaan utama ialah subprocess.call menunggu arahan selesai sebelum meneruskan, manakala subprocess.Popen tidak.

Berikut ialah contoh menggunakan subprocess.Popen:

import subprocess

# Pass the arguments from main.py to slave.py
arguments = ['python', 'slave.py'] + sys.argv[1:]

# Launch slave.py as a non-blocking process
process = subprocess.Popen(arguments)
Salin selepas log masuk

Sekarang, utama .py boleh meneruskan pelaksanaannya semasa slave.py berjalan secara bebas.

Nota Tambahan:

  • Jangan gunakan senarai untuk menghantar argumen jika anda' menggunakan semula shell=True.
  • Sebagai alternatif, anda boleh memanfaatkan asyncio untuk selari berasaskan coroutine. Lihat contoh yang disediakan dalam jawapan asal untuk butiran.

Atas ialah kandungan terperinci Bagaimana untuk Menjalankan Skrip Hamba Secara Asynchronous dalam Python menggunakan Invocation Proses Tidak Menyekat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
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