Supervisor: A opção de configuração do "ambiente" não aceita o caractere "%" mesmo quando citada

Criado em 27 set. 2013  ·  4Comentários  ·  Fonte: Supervisor/supervisor

Ao definir o parâmetro environment= em um arquivo de configuração, o sinal % retorna um erro Error: Format string 'KEY="%"' for 'environment' is badly formatted .

por exemplo

Ok: environment=SECRET_KEY="*wi4h$kqxp84f3w6uh8w@l$0(+@x$3cr&)z^lmg+pqw^6wkyi"

Quebrado: environment=SECRET_KEY="*wi4h$kqxp84f3w6uh8w@l$0(+@x$3cr&)z^lmg+pqw^6wky%i"

Quebrado: environment=FOO="%"

Quebrado: environment=FOO="\%"

environment

Comentários muito úteis

Quebrado: environment=SECRET_KEY="*wi4h$kqxp84f3w6uh8w@l$0(+@x$3cr&)z^lmg+pqw^6wky%i"

Você deve ser capaz de incluir % usando %% .

O Supervisor usa interpolação de string Python ao analisar o arquivo de configuração, então você pode testá-lo assim:

$ python
>>> "*wi4h$kqxp84f3w6uh8w@l$0(+@x$3cr&)z^lmg+pqw^6wky%i" % {}
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: %d format: a number is required, not dict

Com %% :

>>> "*wi4h$kqxp84f3w6uh8w@l$0(+@x$3cr&)z^lmg+pqw^6wky%%i" % {}
'*wi4h$kqxp84f3w6uh8w@l$0(+@x$3cr&)z^lmg+pqw^6wky%i'

Todos 4 comentários

Quebrado: environment=SECRET_KEY="*wi4h$kqxp84f3w6uh8w@l$0(+@x$3cr&)z^lmg+pqw^6wky%i"

Você deve ser capaz de incluir % usando %% .

O Supervisor usa interpolação de string Python ao analisar o arquivo de configuração, então você pode testá-lo assim:

$ python
>>> "*wi4h$kqxp84f3w6uh8w@l$0(+@x$3cr&)z^lmg+pqw^6wky%i" % {}
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: %d format: a number is required, not dict

Com %% :

>>> "*wi4h$kqxp84f3w6uh8w@l$0(+@x$3cr&)z^lmg+pqw^6wky%%i" % {}
'*wi4h$kqxp84f3w6uh8w@l$0(+@x$3cr&)z^lmg+pqw^6wky%i'

Oi,

Eu enfrentei um problema semelhante com a configuração no parâmetro environment= dentro do bloco [supervisord] .

Eu tenho um parâmetro com o sinal % . Tentei a solução sugerida (usando 2 sinais % ), mas não consegui resolver o problema.

A string de amostra para tentar: x1it3km%2BTVmkRsQ
Obtendo o seguinte erro para esta string

Erro: a string de formato 'SECRET = "x1it3km% 2BTVmkRsQ"' para 'supervisord.environment' está formatada incorretamente: formato não suportado caractere 'B'

Acho que isso tem algo a ver com um número após o sinal % , mas não tenho certeza.
Alguma ideia?

@chinmaybhoir é o caso ... considera% 2 como um caractere especial ou algo parecido ... No meu caso, eu estava no Django, então apenas removo todos os% da chave e funcionou bem

Seria incrível se o supervisor pudesse escapar automaticamente % s em strings (por exemplo, %(ENV_SECRET_KEY) atualmente se expande para x1it3km%2BTVmkRsQ , que é inválido, mas eu gostaria que ele se expandisse para x1it3km%%2BTVmkRsQ . Dessa forma, eu não teria que mudar minha chave secreta do Django para deixar o supervisor feliz.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

vBlackOut picture vBlackOut  ·  5Comentários

AlphaSRE picture AlphaSRE  ·  3Comentários

swisspol picture swisspol  ·  5Comentários

Siecje picture Siecje  ·  5Comentários

felipejfc picture felipejfc  ·  5Comentários