【问题标题】:Heroku Worker CachingHeroku Worker 缓存
【发布时间】:2018-08-23 02:48:04
【问题描述】:
我无法让我的工作进程在 Heroku 中更新。我在我的 Procfile 中设置了一个工人测功机,它连接到一个 Redis 实例;部署后我看不到我对此文件所做的更改。
我试过了:
- 使用
heroku ps:restart worker.1 -a [appname] 重置测功机
- 使用
heroku ps:restart -a [appname]重新启动所有测功机
- 更改文件的内容,使大小不同
- 更改 Procfile 以指向不同的 PHP 文件
没有任何作用。看起来它在一夜之间获得了我的一些更改(可能在重新启动期间?)但我不能强迫它接受这些更改......有什么想法吗?
【问题讨论】:
标签:
php
heroku
worker
heroku-cli
【解决方案1】:
救援日志... 我的所需包含文件路径存在问题,导致构建失败。它默认为最后一次成功的构建,这就是它看起来像是在缓存的原因。
我在构建过程中通过查看日志发现了这一点:
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');