File Mover Blog

  • 06 Jul

    Python Thread Exec Mode setup within Limagito File Mover

    Python Thread Exec Mode setup within Limagito File Mover

    In version v2025.6.7.0 we added a “Global Python” setup option.

    limagito file mover global python setup

    The GIL (Global Interpreter Lock) in Python is a mutex (mutual exclusion lock) that protects access to Python objects, ensuring that only one thread executes Python bytecode at a time, even on multi-core processors.

    We added two Thread Exec Modes:

    New Interpreter

    • Each thread gets its own Python interpreter state (Py_NewInterpreter).
    • Shared global interpreter (GIL) lock, but separate Python states.
    • Useful when isolation between threads is desired.
    • Each interpreter is independent: global variables, modules, and sys state are not shared.
    • Not all Python C modules work well in sub-interpreters (some share global state unsafely).
    • Use this when:
      • You need full isolation between threads (like sandboxing).
      • You can tolerate potential issues with C extension compatibility.

    New Interpreter Own GIL

    • Same as “New Interpreter”, but each thread also manages its own GIL state.
    • This mode gives each thread its own Python interpreter + GIL state.
    • Makes thread-safe management of the Python GIL easier.
    • Internally uses PyEval_SaveThread / PyEval_RestoreThread.
    • Use this when:
      • You want per-thread interpreters with clean GIL handling.
      • You want Python output or state kept separate per thread (e.g. in logs).
      • This is the recommended mode when you want each thread to run Python independently.

    limagito file mover Python Thread Exec Mode

    If you need any help with this ‘Python Thread Exec Mode’ option, please let us know.

    Best Regards,

    Limagito Team

    #python #managedfiletransfer #filetransfer #filemanagement

    By Limagito-Team Python
  • 06 Jul

    Python within Limagito File Mover running as a windows service

    Python within Limagito File Mover running as a windows service

    In version v2025.7.6.0 we added a ‘Global Python’ setup option.

    limagito file mover global python setup

    One of the reasons we did this is by default we’ll use the latest registered Python version. The issue is that when you are using the File Mover as a Windows service and the ‘Logon As’ user of the File Mover service is not able to read the registry settings of the latest registered Python version then we’ll be not able to initialise the Global Python engine. To prevent this issue, it is a good ideae to register it for all users when installing the Python Distribution. Another option is to adjust the Global Python setup and use “Select Specific Version’ as Distribution Type.

    • Default Distribution Type: Latest Registered Version

    limagito file mover global python setup

    • Destination Python Setup, click F9 to execute Script
      • Error message: Global Engine not available
      • So the File Mover Service was not able to find the Python Distribution using the registry information

    limagito file mover global python engine not available

    To solve this we added the following Distribution Type:

    • Distribution Type: “Select Specific version”
      • Set Python DLL Name
      • Set Python Version
      • Set Python DLL Path (in the screenshot we used the 64bit version of Python)

    limagito file mover global python setup

    • Destination Python Setup, click <F9> to execute Script
      • Info message: Global Engine available, RegVersion: 3.13 – DLLName: python313.dll
      • So the File Mover Service was able to find the Python Distribution correctly

    limagito file mover python as destination

    • The Remote tool has an option to read the “Engine Log'” of the File Mover service. This will give you some information about the status of the Global Python Engine.

    limagito File Mover engine log option

    python windows service

    If you need any help with this ‘python windows service’ error, please let us know.

    Best Regards,

    Limagito Team

    #python #managedfiletransfer #filetransfer #filemanagement

    By Limagito-Team Python
  • 04 Jul

    SFTP error FXP_OPENDIR when connecting

    SFTP error FXP_OPENDIR when connecting

    Q: Hey guys, we’re receiving this error with our SFTP connection to the MOVEIT Cloud.  Have you heard anything on this? Also, we did update to the latest version (v2025.6.8.0) to see if it works better.

      OpenDir(2797ms):

       SshVersion: SSH-2.0-MOVEit Transfer SFTP

        SftpVersion: 3

        IdleTimeoutMs: 60000

        openDir(2797ms):

          path: /Home/

          Sent FXP_OPENDIR

          readSftpPacket(2797ms):

            maxToReceive: 16

            Connection closed by peer.

            passiveClose:

              Passive socket closing complete.

            –passiveClose

            sshRawPacket: Socket connection closed.

            sshReadMessage: Socket connection closed.

            Socket connection lost, channel closed.

          –readSftpPacket

          Failed to read expected SFTP packet.

          Failed to receive response to FXP_OPENDIR, disconnecting…

        –openDir

        Failed.

      –OpenDir

     

    Limagito: We don’t have any other open tickets regarding this issue so it is a bit strange. What we did in the meantime: we added an extra (third) SFTP code Vendor – SC. We are still doing tests but it is already available in our latest v2025 version.

    Reply: I found the root cause of the error. MoveIT only allows a login to have one session open at a time. We were trying to run the jobs concurrently and that what was causing the issue. Once I made them run sequentially, the issue stopped.

     

    If you need any help with this ‘SFTP error FXP_OPENDIR’ error, please let us know.

    Best Regards,

    Limagito Team

    #sftp #managedfiletransfer #filetransfer #filemanagement

    By Limagito-Team Error SFTP
1 2 3 4 155
SEARCH