1

djangoWebフレームワークを使用してアプリケーションを構築しています。私たちのアプリケーションでは、この非常に重大な問題に直面しています。ファブリックライブラリを使用してリモートサーバーに接続しようとしています。通常、コマンドラインからサーバーに接続できます。また、コマンドラインから実行するときにdjangoに含まれる組み込みサーバーでも正常に実行されます。指示

fab get_string -H user@10.10.10.10>>django.txt 2>&1

コードをapacheにデプロイしましたが、関数でこのコマンドが検出されると、アプリケーションがスタックします。たまにこれらのログを取得します

"> Using fabfile 'C:\fabfile.py'
Commands to run: generic_task_linux_django
Parallel tasks now using pool size of 1
[user@10.10.10.10] Executing task 'generic_task_linux_django'
2012-08-30 09:36:15.805000
[user@10.10.10.10] run: /bin/bash -l -c "rm -rf /tmp//admin7"
Timed out trying to connect to 10.10.10.10 (attempt 1 of 1), giving up)

Fatal error: Timed out trying to connect to 10.10.10.10 (tried 1 time)

Traceback (most recent call last):
  File "C:\Python27\lib\site-packages\fabric-1.4.1-py2.7.egg\fabric\tasks.py", line 298, in execute
    multiprocessing
  File "C:\Python27\lib\site-packages\fabric-1.4.1-py2.7.egg\fabric\tasks.py", line 197, in _execute
    return task.run(*args, **kwargs)
  File "C:\Python27\lib\site-packages\fabric-1.4.1-py2.7.egg\fabric\tasks.py", line 112, in run
    return self.wrapped(*args, **kwargs)
  File "C:\fabfile.py", line 314, in generic_task_linux_django
    run("rm -rf "+remote_path + '/' + local_dir_name)
  File "C:\Python27\lib\site-packages\fabric-1.4.1-py2.7.egg\fabric\network.py", line 457, in host_prompting_wrapper
    return func(*args, **kwargs)
  File "C:\Python27\lib\site-packages\fabric-1.4.1-py2.7.egg\fabric\operations.py", line 905, in run
    return _run_command(command, shell, pty, combine_stderr)
  File "C:\Python27\lib\site-packages\fabric-1.4.1-py2.7.egg\fabric\operations.py", line 815, in _run_command
    stdout, stderr, status = _execute(default_channel(), wrapped_command, pty,
  File "C:\Python27\lib\site-packages\fabric-1.4.1-py2.7.egg\fabric\state.py", line 340, in default_channel
    chan = connections[env.host_string].get_transport().open_session()
  File "C:\Python27\lib\site-packages\fabric-1.4.1-py2.7.egg\fabric\network.py", line 84, in __getitem__
    self.connect(key)
  File "C:\Python27\lib\site-packages\fabric-1.4.1-py2.7.egg\fabric\network.py", line 76, in connect
    self[key] = connect(user, host, port)
  File "C:\Python27\lib\site-packages\fabric-1.4.1-py2.7.egg\fabric\network.py", line 393, in connect
    raise NetworkError(msg, e)
NetworkError: Timed out trying to connect to 10.10.10.10 (tried 1 time)


Aborting."

接続を終了できるためですが、ほとんどの場合、スタックしていて、表示するログがありません。

次に、Windowsサービスとして実行することにしました。添付のPythonファイルを使用してサービスを作成しました(recipe.py)。繰り返しますが、私たちはapacheに直面しているのと同じ問題に直面しています。

4

1 に答える 1

1

sshクレデンシャルなどが原因で接続が失敗したかどうかを確認することをお勧めします。ここで私の提案に従い、ssh / paramiko libを詳細にログに記録しておくと、より多くの情報を得ることができます。

于 2012-09-06T16:55:28.990 に答える