这是我目前正在使用的 Ansible playbook 的一个示例:
---
- hosts: all
collections:
- mynamespace.my_collection
roles:
- mynamespace.my_role1
- mynamespace.my_role2
- geerlingguy.repo-remi
Run Code Online (Sandbox Code Playgroud)
该mynamespace.my_collection集合是一个自定义集合,其中包含几个角色,即mynamespace.my_role1和mynamespace.my_role2。
我有一个requirements.yml文件如下:
---
collections:
- name: git@github.com:mynamespace/my_collection.git
roles:
- name: geerlingguy.repo-remi
version: "2.0.1"
Run Code Online (Sandbox Code Playgroud)
我按如下方式安装集合和角色:
ansible-galaxy collection install -r /home/ansible/requirements.yml --force
ansible-galaxy role install -r /home/ansible/requirements.yml --force
Run Code Online (Sandbox Code Playgroud)
每次我尝试运行剧本时,它都会失败并出现以下错误:
ERROR! the role 'mynamespace.my_role1' was not found in mynamespace.my_collection:ansible.legacy:/home/ansible/roles:/home/ansible_roles:/home/ansible
The error appears to be in '/home/ansible/play.yml': line 42, column 7, but may
be elsewhere in the file …Run Code Online (Sandbox Code Playgroud) 在我正在构建的应用程序中,登录用户可以接收与其用户帐户正在参与或订阅的活动相关的特定推送通知。
就目前而言,如果用户注销,他们仍保持订阅状态,并且 Service Worker 仍保持注册状态。
但是,这意味着他们仍然会收到他们订阅的推送通知。
然而,从好的方面来说,这意味着如果原始用户再次登录,他们将不需要转到自己的首选项并重新启用通知并重新注册新的服务工作线程/订阅。
有没有人有任何示例说明如何以安全的方式处理此问题,以便在注销后不会泄露通知,但在他们重新登录时仍保留现有的订阅?有可能吗?
谢谢,
磷
我目前正在开发一个网络应用程序,该应用程序将允许用户订阅推送通知。我们将把订阅存储在根据用户 ID 映射的数据库表中,当需要发送通知时,我们将查找用户的订阅并发送通知。
我一直在遵循本指南: https://developers.google.com/web/fundamentals/codelabs/push-notifications/
一切都很顺利,但有些事情就是感觉不太“正确”。
在每次页面加载时,服务工作线程都会被注册,然后检查它们是否已经订阅,然后即使它们是,它也会调用包含updateSubscriptionOnServer()以下注释的内容:
// TODO: Send subscription to application server
Run Code Online (Sandbox Code Playgroud)
这实际上意味着每个页面加载都将尝试将相同的订阅写回数据库。显然我们会在应用程序中处理这个问题,但这似乎并不理想。
对于 Web Push API,这是预期的方法吗?
非常感谢