Corri cron e abortou a execução. Agora recebo esta mensagem:
Tentativa de executar novamente o cron enquanto ele já estiver em execução.
No Drupal 7, eu poderia excluir a variável cron_semaphore .
Qual é o caminho para conseguir o mesmo no Drupal 8?
drush php:eval '\Drupal::lock()->release("cron");'
Graças à resposta de Shawns ..
Parecia ajudar!
fonte
Para o Drupal 8, execute:
fonte
Cheguei a esta página quando minha instalação do D7 travou. Eu o libertei usando
fonte
lock_release('cron')
para liberar o bloqueio do cron.O Drupal 7 não usa mais a variável cron_semaphore , mas um bloqueio. Veja
drupal_cron_run()
, e em particular as seguintes linhas, parte dessa função.A portagem dessas linhas para o Drupal 8 é bastante direta, pois o Drupal 8 tem um serviço para obter e liberar um bloqueio.
O código é em equivalente
Cron::run()
.Se você precisar desbloqueá-lo em um host em que não possa usar o Drush, como acontece comigo, para obter o mesmo de um script externo que inicialize o Drupal, exigiria um código semelhante ao seguinte.
Eu adaptei o código do authorize.php . Alterei a permissão do usuário necessária para executar o script, que eu coloquei no diretório que contém o arquivo authorize.php, no arquivo cron_cleanup.php.
Se você pode executar o Drush, fica mais fácil. (Veja a resposta de @ dman .)
fonte
Se você não conseguir que ele funcione no Drupal 8 com as etapas sugeridas acima - talvez você esteja usando algo como Redis e o bloqueio do cron esteja armazenado lá. Nesse caso, você pode avançar com:
fonte