私はスクリプト用のPHPフレームワークとPythonについてかなりの経験を持っているので、今はPyramidへの一歩を踏み出しています。
Pyramidでスクリプトを実行するための「正しい」方法を知りたいのですが。つまり、アプリケーションの一部であり、構成、つまりデータベースにアクセスできるが、パスター(またはWSGI)を介して実行されないように設定するにはどうすればよいですか。
例として、ユーザーがオフラインのときにWebサービスを介してFacebookの更新を取得するWebアプリケーションがあるとします。そのサービスをポーリングし、次のログインに備えてデータベースに保存するスクリプトを作成したいと思います。
次の点でこれをどのように行う必要がありますか?
- iniファイルに変数を追加する
- スクリプトを正しく開始する
Pythonモジュールとパッケージの基本を理解しています。しかし、私はConfigurator / Paster / packageのセットアップを完全には理解していません。そこでは、答えがあるのではないかと思います。
ありがとう
アップデート:
おかげで、これは私が探しているものの線に沿っているようです。特定の構造に従う必要があり(たとえば、summary属性とparser属性が設定されている)、command()という関数が常に実行されることに注意してください。私のテストコードは次のようになります。
class AwesomeCommand(Command):
max_args = 2
min_args = 2
usage = "NAME"
# These are required
summary = "Say hello!"
group_name = "My Package Name"
# Required:
parser = Command.standard_parser(verbose=True)
def command(self):
# Load the config file/section
config_file, section_name = self.args
# What next?
私は今、設定自体を取得する方法について立ち往生しています。たとえば、init.pyでは次のことができます。
engine = engine_from_config(settings, 'sqlalchemy.')
設定ファイルを設定に変換するには何をする必要がありますか?
編集:Pylonsでこれを行う(より簡単な)方法はここにあります: Pylonsコントローラーを別のアプリとして実行しますか?