Skip to content

Globus Compute starts a thread at import parsl time, even if users don't use GlobusComputeExecutor #3751

@benclifford

Description

@benclifford

Describe the bug

Since PR #3607, import parsl starts a thread.

To Reproduce

>>> import threading
>>> threading.enumerate()
[<_MainThread(MainThread, started 140077973014336)>]
>>> import parsl
>>> threading.enumerate()
[<_MainThread(MainThread, started 140077973014336)>, <Thread(Thread-1 (__atexit), started 140077889824448)>]

Expected behavior

Importing parsl should not be doing global environment stuff like starting threads: things like this should start ideally at in .start() methods, or less preferably in config object initializers, and be cleaned up by the relevant shutdown method.

Environment
my laptop, master branch 6ac930e

cc @yadudoc @khk-globus

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions