Path: blob/main/docs/source/src/python/user-guide/misc/multiprocess.py
7890 views
"""1# --8<-- [start:recommendation]2from multiprocessing import get_context345def my_fun(s):6print(s)789with get_context("spawn").Pool() as pool:10pool.map(my_fun, ["input1", "input2", ...])1112# --8<-- [end:recommendation]1314# --8<-- [start:example1]15import multiprocessing16import polars as pl171819def test_sub_process(df: pl.DataFrame, job_id):20df_filtered = df.filter(pl.col("a") > 0)21print(f"Filtered (job_id: {job_id})", df_filtered, sep="\n")222324def create_dataset():25return pl.DataFrame({"a": [0, 2, 3, 4, 5], "b": [0, 4, 5, 56, 4]})262728def setup():29# some setup work30df = create_dataset()31df.write_parquet("/tmp/test.parquet")323334def main():35test_df = pl.read_parquet("/tmp/test.parquet")3637for i in range(0, 5):38proc = multiprocessing.get_context("spawn").Process(39target=test_sub_process, args=(test_df, i)40)41proc.start()42proc.join()4344print(f"Executed sub process {i}")454647if __name__ == "__main__":48setup()49main()5051# --8<-- [end:example1]52"""5354# --8<-- [start:example2]55import multiprocessing56import polars as pl575859def test_sub_process(df: pl.DataFrame, job_id):60df_filtered = df.filter(pl.col("a") > 0)61print(f"Filtered (job_id: {job_id})", df_filtered, sep="\n")626364def create_dataset():65return pl.DataFrame({"a": [0, 2, 3, 4, 5], "b": [0, 4, 5, 56, 4]})666768def main():69test_df = create_dataset()7071for i in range(0, 5):72proc = multiprocessing.get_context("fork").Process(73target=test_sub_process, args=(test_df, i)74)75proc.start()76proc.join()7778print(f"Executed sub process {i}")798081if __name__ == "__main__":82main()8384# --8<-- [end:example2]858687