Gunicorn: Как ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ, запускаСмому Gunicorn?

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 9 Π΄Π΅ΠΊ. 2010  Β·  4ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: benoitc/gunicorn

ΠŸΡ€ΡΠΌΠΎ сСйчас я Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽ своС Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

$ gunicorn webapp:application

Π― Ρ…ΠΎΡ‡Ρƒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ прилоТСния Π² ΠΌΠΎΠ΅ΠΌ webapp.py. Π’ частности, я Ρ…ΠΎΡ‡Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΌΠΎΠ΅Π³ΠΎ Π²Π΅Π±-прилоТСния.

Π― Ρ‡ΠΈΡ‚Π°Π» Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Gunicorn с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„Π°ΠΉΠ»Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, Π½ΠΎ ΠΌΠ½Π΅ это Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ.

Π― ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π» это ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ΠΎΡˆΠΈΠ±ΠΊΡƒ:

$ gunicorn webapp:application dev.cfg

Насколько я ΠΌΠΎΠ³Ρƒ ΡΡƒΠ΄ΠΈΡ‚ΡŒ, Gunicorn пытался Π½Π°ΠΉΡ‚ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с ΠΈΠΌΠ΅Π½Π΅ΠΌ "application dev.cfg".

Π›ΡŽΠ±Ρ‹Π΅ ΠΈΠ΄Π΅ΠΈ?

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’ ΠΌΠΎΠ΄ΡƒΠ»Π΅ вашСго прилоТСния Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ этого:

def load_app(cfg_file):
    cfg = load_app_config(cfg_file)
    return my_app(cfg)

А Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹ запускаСтС своС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

$ gunicorn 'webapp:load_app("/path/to/my_config.ini")'

ВсС 4 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’ ΠΌΠΎΠ΄ΡƒΠ»Π΅ вашСго прилоТСния Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ этого:

def load_app(cfg_file):
    cfg = load_app_config(cfg_file)
    return my_app(cfg)

А Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹ запускаСтС своС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

$ gunicorn 'webapp:load_app("/path/to/my_config.ini")'

ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠ».

@benoitc ΠΏΡ€ΠΎΡˆΠ»ΠΎ нСсколько Π»Π΅Ρ‚, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ ΠΌΠ½Π΅ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Π²Π΅Ρ€Π΅Π½ Π»ΠΈ этот ΠΎΡ‚Π²Π΅Ρ‚? МнС Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ этот ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° мСня.

@pellunutty Π― Π½Π΅ Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ сСйчас ΠΎΡ‚Π²Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ подкласс ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· классов прилоТСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, BaseApplication ) ΠΈ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ load_config . Π‘ΠΌ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° http://docs.gunicorn.org/en/stable/custom.html .

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ