小编Ous*_*uss的帖子

script: 和 before_script: 在 gitlab-ci.yml 的作业中有何区别

可以.gitlab-ci.yml添加在所有定义的作业before_script之前运行的默认值。script

before_script我的问题是为什么在工作中定义而不是仅script在工作中使用?before_script在作业中使用只是为了覆盖默认值before_script,还是还有其他情况或原因?

gitlab-ci gitlab-ci.yml

53
推荐指数
1
解决办法
5万
查看次数

是否可以在任务执行期间使用 django-celery-results 查询 celery 任务的状态?

我正在使用 Celery + RabbitMQ 在我的 Django 应用程序中排队任务,

我想使用 task_id 和 task_state 跟踪任务的状态。

为此,我创建了一个 TaskModel(Model) 来存储数据库中的 task_id、task_state 和一些附加数据。在任务执行时,一个新的 TaskModel 对象会随着任务的进行而保存和更新。一切正常。

但是,我仍然需要添加很多功能和特性以及错误保护等。那时我记得 celery 文档提到了 django-celery-results。

所以我遵循了 django-celery-results 文档说明。任务结果存储在默认 django 数据库中的专用表中,但是仅在任务结束后......而不是在 PENDING、STARTED 状态期间。

是否可以使用 django-celery-results 在 PENDING 和 STARTED 状态期间存储和查询任务?或不?

谢谢

python django django-celery

10
推荐指数
1
解决办法
3728
查看次数

Libnotify:notify_register_coalesced_registration 失败,第 2835 行代码为 9

我发现以下消息在我的 system.log 中重复多次(约 5 次/分钟)macos x

Apr  5 12:23:52 macbook-air Google Chrome Helper[8216]: 
Libnotify: notify_register_coalesced_registration failed with code 9 on line 2835
Run Code Online (Sandbox Code Playgroud)

这是什么意思?我能做些什么来修复它并停止在我的日志文件中显示消息?

macos google-chrome libnotify

6
推荐指数
1
解决办法
249
查看次数

MongoEngine并处理"UserWarning:在fork之前打开MongoClient.使用connect = False创建MongoClient,或者在分叉后创建客户端"

我使用Celery和MongoEngine作为我的Django App的一部分.

当celery @shared_task通过mongoengine模型类访问mongodb数据库时,我收到此警告:

UserWarning: MongoClient opened before fork. Create MongoClient with
connect=False,or create client after forking. See PyMongo's
documentation for details:
http://api.mongodb.org/python/current/faq.html#using-pymongo-with-multiprocessing
Run Code Online (Sandbox Code Playgroud)

它显然与多处理和pyMongo有关,这是mongoengine所基于的.

我的问题是:

用mongoengine避免这个问题的最佳策略是什么?

请注意,我正在使用mongoengine连接到mongodb settings.py:

mongoengine.connect('my_mongo_database_name', alias='default')
Run Code Online (Sandbox Code Playgroud)

python django celery mongoengine django-celery

5
推荐指数
1
解决办法
2185
查看次数

使用python3提取字符串中的所有url

我正在尝试找到一种干净的方法来提取文本字符串中的所有网址。

经过广泛的搜索后,我发现许多帖子建议使用正则表达式来完成任务,并且他们给出了应该执行此操作的正则表达式。每个正则表达式都有一些优点和一些缺点。此外,编辑它们以改变它们的行为并不简单。无论如何,此时我对任何可以正确检测此文本中的 url 的正则表达式感到满意:

输入:

Lorem ipsum dolor sat amet https://www.lorem.com/ipsum.php?q=suas,nusquamtincidunt ex per,ius modus integre no,quando utroque placerat qui no。我的结论是 vituperatoribus et, omnes malorum est id, pri omnesatomorum expetenda ex。Elit pertinacia no eos,nonumy comprehensam id mei。Ei eum maiestatis quaerendum https://www.lorem.org。Pri posse constituam in,请坐http://news.bbc.co.uk全方位定义em ei。Cu duo equidem meliore qualisque。

输出:

[ ' https://www.lorem.com/ipsum.php?q=suas','https://www.lorem.org','http://news.bbc.co.uk ' ]​​

但是,如果有一个 python3 类/函数/库,它会查找给定文本中的所有 url 并采用参数:

  1. 选择要检测的协议
  2. 选择允许的 TLD
  3. 选择允许哪些域

我很高兴知道这件事。

python regex url python-3.x

4
推荐指数
1
解决办法
9008
查看次数

Kubernetes,如何与其他节点共享读/写持久卷作为只读卷

我有一个持久卷,在一个特定节点上具有读/写访问权限。

如何将此持久卷以只读方式安装在所有其他节点上?

这是我在 pvc.yaml 中的想法:

---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  # This name uniquely identifies the PVC. This is used in deployment.
  name: public-pv-claim
  namespace: default
spec:
  accessModes:
    - ReadWriteOnce
    - ReadOnlyMany
  resources:
    # This is the request for storage. Should be available in the cluster.
    requests:
      storage: 1Gi
Run Code Online (Sandbox Code Playgroud)

并在特定节点

      ...
      volumes:
      - name: public
        # This volume is based on PVC
        persistentVolumeClaim:
          # Name of the PVC created earlier
          claimName: public-pv-claim
      containers:
      - name: specific
        # Volume mounts …
Run Code Online (Sandbox Code Playgroud)

kubernetes persistent-volumes

3
推荐指数
1
解决办法
6032
查看次数