Redmine: busca changesets do job cron

2

No Redmine 0.8.2, eu quero que as informações do changeset sejam buscadas automaticamente, ao invés de apenas quando alguém visualiza a aba Repositório do projeto correspondente. (Eu preciso disso para que as mensagens de commit contendo "refs # 42" ou "closes # 42" tenham efeito o mais rápido possível.)

O crontab do usuário que o Redmine executa tem a seguinte entrada:

# m h  dom mon dow   command
*/5 * * * * ruby /var/www/redmine/script/runner Repository.fetch_changesets -e production

Isso costumava funcionar antes de uma migração de servidor e funciona a partir da linha de comando (como o usuário do Redmine), mas não funciona no cron. Eu posso ver no syslog que o comando é executado:

Feb 15 14:05:01 turing /USR/SBIN/CRON[24119]: (www-data) CMD (ruby /var/www/redmine/script/runner Repository.fetch_changesets -e production)

mas o banco de dados não é atualizado. Não há entradas nos logs do Redmine.

Eu recebi este trecho do Redmine FAQ . Vejo que o comando sugerido foi alterado para:

rake -f /path/to/redmine/Rakefile redmine:fetch_changesets

mas quando eu executo isso a partir da linha de comando, ele não pega a configuração e, assim, obtém o "acesso negado" ao acessar o banco de dados.

Qual beco devo descer? Que coisa óbvia estou esquecendo de verificar?

    
por legoscia 15.02.2010 / 14:27

1 resposta

5

É possível que o ruby esteja no $ PATH do usuário Redmine, mas não no do cron. Tente especificar o caminho completo na entrada do crontab.

*/5 * * * * /path/to/ruby /var/www/redmine/script/runner Repository.fetch_changesets -e production

Além disso, seria útil se você dissesse quais mensagens de erro ou entradas de log estavam recebendo, em vez de apenas dizer "não funciona". As informações adicionais ajudarão no diagnóstico do problema.

    
por 15.02.2010 / 15:01

Tags