我有一个用新数据更新 Postgres 数据库的脚本。我想在脚本完成后清除所有缓存的页面。但如果不完全重新启动 Heroku 服务器,我似乎无法使其生效
我尝试过但没有成功:
Rails.cache.clear => ["/app/tmp/cache/bootsnap-compile-cache", "/app/tmp/cache/bootsnap-load-path-cache"]rails tmp:cache:clearrails assets:cleanconfig.cache_store 没有为生产明确设置(我已经看到了关于默认使用什么缓存的混合信息)
我已确保浏览器中没有缓存(通过在开发工具中禁用缓存并绕过服务工作人员)
我将 Heroku 与 ruby 2.5.3、rails 5.2.1.1 和 actionpack-action_caching 1.2.0 一起使用
我向操作添加了日志记录,该操作仅记录重新启动后第一次访问页面的情况
更新:我删除了操作缓存,而是通过使用预先加载更好地优化了 SQL 采石场。
我没有正确理解 Heroku 的 dyno 是如何工作的。
Heroku 在使用时会启动新的 VM(dyno)heroku run bash,从而导致任何缓存清除都不会影响在现有 dyno 上运行的 Web 服务器。要通过 ssh 进入正在运行的 dynos,您需要使用heroku ps:exec
我可以在网页上创建一个链接以 dm 某人闲散吗?(在特定的工作空间中)
根据文档,这样的事情应该可以工作
<a href="slack://user?team=TEAM-ID&id=USER-ID" target="_blank">
click to dm me on slack
</a>
Run Code Online (Sandbox Code Playgroud)
我在哪里可以找到团队 ID?是工作区 URL 中的子域吗TEAM-ID.slack.com
当我尝试这一切时,它所做的就是对最后打开的任何东西开放松弛。我希望它向用户 ID 在链接中的用户打开一条直接消息。
更新:因为它比我想的要复杂一些,而且我怀疑我会从管理员那里获得一个 slack 令牌,我将保持原样(只是我的 slack 用户名供人们查找)。
除了被分派之外,动作还有其他用途吗,为什么在调用时不分派动作?
这只是未来证明可与多个商店一起使用的应用程序的一种方式吗?
这也产生了对 mapDispatchToProps 的需求,它通常是完全样板代码,用于用调度调用包装动作
通常可以用这个函数来概括,它接受一个动作对象并返回一个 mapDispatchToProps 函数
// mapActionsToDispatchProps.js
const mapActionsToDispatchProps = actions => {
return dispatch => (
actions.mapEntries(action => (
(...args) => dispatch(action(...args))
)
)
)
export default mapActionsToDispatchProps
Run Code Online (Sandbox Code Playgroud)
我看到最后一个关于 mapDispachToProps 主要是样板的问题可以通过直接传递一个动作对象来避免,并且 connect 将为我映射它们。