作为我工作的一部分,我正在开始使用特定论点的幻影.
这是在自定义的gitlab/gitlab-ci服务器上运行的,我目前没有使用容器,我想这会简化它.
我正在开始像这样的幻影:
- "timeout 300 phantomjs --ssl-protocol=any --ignore-ssl-errors=true vendor/jcalderonzumba/gastonjs/src/Client/main.js 8510 1024 768 2>&1 >> /tmp/gastonjs.log &"
Run Code Online (Sandbox Code Playgroud)
然后我正在运行我的behat测试,然后我再次停止该过程:
- "pkill -f 'src/Client/main.js' || true"
Run Code Online (Sandbox Code Playgroud)
问题是当behat测试失败时,它不执行pkill并且测试运行等待phantomjs完成.我已经添加了超时300,但这意味着我现在仍然在等待2分钟后失败并且当测试仍然在运行时它们会变得足够慢时最终会停止它.
我还没有找到一种方法来运行某种运行后/清理命令,该命令也会在失败的情况下运行.
有一个更好的方法吗?我可以用gitlab-ci不关心它仍在运行的方式启动phantomjs吗?可能没有?
我正在尝试用基于redis的实现替换Drupal 8的防洪服务的sql实现.
请参阅https://github.com/drupal/drupal/blob/8.0.x/core/lib/Drupal/Core/Flood/DatabaseBackend.php
要求是这样的:
我对如何实现这个的想法:
写完所有这些之后,我可能真的知道它是如何工作的,所以我想我正在寻找的是关于这是否有意义或者是否有更简单的方法的反馈.
每个事件:标识符组合是一个键,包含一个有序集.它使用到期作为分数,并将值用作唯一值,可能是以微秒为单位的创建时间.我计算未过期的记录以检测是否达到阈值.我正在更新每个事件的到期时间:标识符到提供的到期时间窗口,因此除非给定的标识符/客户端不放弃并继续尝试,否则它将被自动删除,而不会达到过期时间.是否值得清理集合中的记录,例如在进行新的注册时?它看起来相当快,我有时也只能这样做.