小编Jak*_*cki的帖子

Dockerized Apache Beam 返回“未提供 id”

我在使用 dockerized Apache Beam 时遇到了问题。当尝试运行容器时,我只收到"No id provided."消息,仅此而已。这是代码和文件:

Dockerfile

FROM apache/beam_python3.8_sdk:latest
RUN apt update
RUN apt install -y wget curl unzip git
COPY ./ /root/data_analysis/
WORKDIR /root/data_analysis
RUN python3 -m pip install -r data_analysis/beam/requirements.txt
ENV PYTHONPATH=/root/data_analysis
ENV WORKER_ID=1
CMD python3 data_analysis/analysis.py
Run Code Online (Sandbox Code Playgroud)

代码analysis.py

import apache_beam as beam
from apache_beam.options.pipeline_options import PipelineOptions

def run():
    options = PipelineOptions(["--runner=DirectRunner"])

    with beam.Pipeline(options=options) as p:
        p | beam.Create([1, 2, 3]) | beam.Map(lambda x: x-1) | beam.Map(print)

if __name__ == "__main__":
    run()
Run Code Online (Sandbox Code Playgroud)

命令:

% …
Run Code Online (Sandbox Code Playgroud)

apache docker apache-beam python-3.8

9
推荐指数
1
解决办法
3046
查看次数

如何使用Marshmallow序列化MongoDB ObjectId?

我正在使用棉花糖和mongoengine在Flask上构建和API.当我打电话并且ID应该被序列化时,我收到以下错误:

TypeError: ObjectId('54c117322053049ba3ef31f3') is not JSON serializable
Run Code Online (Sandbox Code Playgroud)

我看到了其他库的一些方法来覆盖ObjectId的处理方式.我还没有想到Marshmallow,有谁知道怎么做?

我的模型是:

class Process(db.Document):
    name = db.StringField(max_length=255, required=True, unique=True)
    created_at = db.DateTimeField(default=datetime.datetime.now, required=True)
Run Code Online (Sandbox Code Playgroud)

我的序列化器:

class ProcessSerializer(Serializer):
    class Meta:
        fields = ("id", "created_at", "name")
Run Code Online (Sandbox Code Playgroud)

并且观点:

class ProcessView(Resource):
    def get(self, id):
        process = Process.objects.get_or_404(id)
        return ProcessSerializer(process).data
Run Code Online (Sandbox Code Playgroud)

python mongoengine flask marshmallow

7
推荐指数
1
解决办法
3902
查看次数

Gnuplot - splot矩阵csv数据

如何在具有这种数据结构的Gnuplot中绘制(3D绘图)矩阵.我找不到使用第一行和第一行作为ax和y ticks(或忽略它们)的方法

,5,6,7,8
1,-6.20,-6.35,-6.59,-6.02
2,-6.39,-6.52,-6.31,-6.00
3,-6.36,-6.48,-6.15,-5.90
4,-5.79,-5.91,-5.87,-5.46
Run Code Online (Sandbox Code Playgroud)

是否splot 'data.csv' matrix使用正确的参数?

csv gnuplot

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

如何使用junitxml在pytest中收集数据结果?

让我们使用以下代码(conftest.py):

import random
def test_val():
    value = random.random()
    assert value < 0.5
Run Code Online (Sandbox Code Playgroud)

运行py.test --junitxml=result.xml conftest.py生成result.xml(通过测试时):

<?xml version="1.0" encoding="utf-8"?>
<testsuite errors="0" failures="0" name="" skips="0" tests="1" time="0.047">
<testcase classname="conftest" name="test_val" time="0.0"/>
</testsuite>
Run Code Online (Sandbox Code Playgroud)

现在。我想做的就是存储test_val()in 生成的值results.xml。有办法吗?我似乎在pytest doc中找不到任何相关内容

python xml pytest

5
推荐指数
2
解决办法
7001
查看次数

Jenkins插件与代理

我有一个Jenkins CI,配置如下:

  • 开放SUSE上的Tomcat [openSUSE 13.1(x86_64)] [Jenkins v1.532.3]
  • Java版"1.7.0_51"[OpenJDK运行时环境(IcedTea 2.4.4)(suse-24.13.5-x86_64)].

我很肯定我的代理配置正确.但是当我尝试下载插件或更新Jenkins上的插件时.我收到这个错误

    Git Client Plugin   
     Failure -
    hudson.util.IOException2: Failed to download from http://updates.jenkins-ci.org/download/plugins/git-client/1.8.1/git-client.hpi
        at hudson.model.UpdateCenter$UpdateCenterConfiguration.download(UpdateCenter.java:794)
        .
        .
Caused by: java.net.ProtocolException: Server redirected too many  times (20)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        .
        .
        .
    at hudson.model.UpdateCenter$UpdateCenterConfiguration.download(UpdateCenter.java:764)
    ... 7 more
Caused by: java.net.ProtocolException: Server redirected too many  times (20)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1636)
Run Code Online (Sandbox Code Playgroud)

但是我可以对实际的URL/URI进行Curl或wget来下载插件

感谢您的帮助和反馈

proxy jenkins-plugins

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

如何向Celery Beat动态添加计划任务

我正在使用Celery 3.1.23版,将动态计划的任务动态添加到芹菜节拍中。我有一名芹菜工作者和一名芹菜节拍实例正在运行。

运行task.delay()可以触发标准的芹菜任务。当我将计划的定期任务定义为配置中的设置时,芹菜节拍将其运行。

但是,我需要的是能够添加在运行时在指定的crontab上运行的任务。将任务添加到持久性调度程序后,芹菜节拍似乎无法检测到新添加的新任务。我可以看到celery-schedule文件确实有一个包含新任务的条目。

码:

scheduler = PersistentScheduler(app=current_app, schedule_filename='celerybeat-schedule')
scheduler.add(name="adder",
          task="app.tasks.add",
          schedule=crontab(minute='*/1'),
          args=(1,2))
scheduler.close()
Run Code Online (Sandbox Code Playgroud)

当我跑步时:

print(scheduler.schedule)
Run Code Online (Sandbox Code Playgroud)

我得到:

{'celery.backend_cleanup': <Entry: celery.backend_cleanup celery.backend_cleanup() <crontab: 0 4 * * * (m/h/d/dM/MY)>,
'adder': <Entry: adder app.tasks.add(1, 2) <crontab: */1 * * * * (m/h/d/dM/MY)>}
Run Code Online (Sandbox Code Playgroud)

请注意,app.tasks.add具有@celery.task装饰器。

python celery python-3.x celerybeat

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

我需要多长时间学习LabVIEW

我知道这个问题太抽象了.但.我需要多长时间学习LabVIEW才能成为普通的LabVIEW开发人员?例如,如果我购买关于LabVIEW的好书并且每天有8小时(在我的工作中)专门用于LabVIEW学习我将花费多少天学习LabVIEW?能否请您根据自己的经验提供示例.关于我的更多信息可能会有所帮助:我是一名开发人员并且知道c\c ++\python和一些java语言.

labview

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

数据库的SQL Server和ACID属性

我是数据库和SQL Server的新手.

因此,当我在互联网上搜索关于数据库的事情时,我发现如果数据库服从或遵循ACID(原子性,一致性,隔离性,耐久性)属性,那么数据库就说是好的.

我想知道Microsoft SQL Server(任何版本当前或以前的版本)在内部遵循ACID属性,或者如果我们在我们的应用程序中使用MS SQL Server,那么我们必须编写编码,使得我们的应用程序遵循ACID属性.

简而言之:维护ACID属性数据库的任务(或责任) 或其应用程序编程的任务.

谢谢..

database sql-server acid

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

Python3.5 对象和 json.dumps() 输出

我写了一个类,允许我将天数(整数)添加到日期(字符串 %Y-%m-%d)。这个类的对象需要是 JSON 可序列化的。

以整数形式向我的对象添加天数按预期工作。但是 json.dumps(obj) 为我的原始对象返回了太多信息(“2016-03-23 15:57:47.926362”)。为什么 ?我需要如何修改类以获取“2016-03-23”?请参见下面的示例。

代码:

from datetime import datetime, timedelta
import json

class Day(str):
    def __init__(self, _datetime):
        self.day = _datetime

    def __str__(self):
        return self.day.date().isoformat()

    def __repr__(self):
        return "%s" % self.day.date().isoformat()

    def __add__(self, day):
        new_day = self.day + timedelta(days=day)
        return Day(new_day).__str__()

    def __sub__(self, day):
        new_day = self.day - timedelta(days=day)
        return Day(new_day).__str__()


if __name__ == "__main__":
    today = Day(datetime.today())
    print(today)               # 2016-03-23
    print(json.dumps(today))   # "2016-03-23 15:57:47.926362"
    print(today+1)             # 2016-03-24
    print(json.dumps(today+1)) # "2016-03-24"
    print(today-1)             # 2016-03-22 …
Run Code Online (Sandbox Code Playgroud)

python datetime json class python-3.5

2
推荐指数
1
解决办法
5094
查看次数

在Python REPL中打印所有全局方法

在Python REPL中

dir(str)
Run Code Online (Sandbox Code Playgroud)

版画

['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__',   '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getslice__', '__gt__', '__hash__', '__init__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '_formatter_field_name_split', '_formatter_parser', 'capitalize', 'center', 'count', 'decode', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'index', 'isalnum', 'isalpha', 'isdigit', 'islower', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
Run Code Online (Sandbox Code Playgroud)

即.所有可用的字符串方法.

如何查看所有可用的全局方法,如"print","list","len"等?

python read-eval-print-loop

0
推荐指数
1
解决办法
89
查看次数