首页 文章

Heroku Worker 缓存

提问于
浏览
0

我无法让我的工作进程在Heroku中更新 . 我的Procfile中设置了一个工作器dyno,它连接到Redis实例;部署后,我看不到对此文件所做的更改 .

我试过了:

  • 使用 heroku ps:restart worker.1 -a [appname] 重置dyno

  • 使用 heroku ps:restart -a [appname] 重新启动所有dynos

  • 更改文件内容,使大小不同

  • 更改Procfile以指向其他PHP文件

什么都行不通 . 看起来它在一夜之间(可能是在重启期间)获得了我的一些变化但是我不能强迫它接受变化......任何想法?

1 回答

  • 0

    登录救援...我的所需包含文件路径存在问题,这导致构建失败 . 它是默认为最后一次成功构建,这就是为什么它看起来像是缓存 .

    通过在构建期间观察日志,我能够找到它:

    heroku[worker.1]: Starting process with command `php bin/worker.php`
    heroku[worker.1]: State changed from starting to up
    heroku[worker.1]: Process exited with status 255
    app[worker.1]: PHP Warning:  require_once(../vendor/autoload.php): failed to open stream: No such file or directory in /app/bin/worker.php on line 9
    app[worker.1]: PHP Fatal error:  require_once(): Failed opening required '../vendor/autoload.php' (include_path='.:/app/.heroku/php/lib/php') in /app/bin/worker.php on line 9
    heroku[worker.1]: State changed from up to crashed
    

    一旦我解决了构建错误,它就不再“缓存”并且一切正常 .

    有效的包含路径:

    require_once(__DIR__ . '/../vendor/autoload.php');

相关问题