正如AWS文档所示:
import logging
logger = logging.getLogger()
logger.setLevel(logging.INFO)
def my_logging_handler(event, context):
logger.info('got event{}'.format(event))
logger.error('something went wrong')
Run Code Online (Sandbox Code Playgroud)
现在我做了:
import logging
logging.basicConfig(level = logging.INFO)
logging.info("Hello World!")
Run Code Online (Sandbox Code Playgroud)
第一段代码在Cloud Watch控制台中打印,但第二段没有.
我没有看到任何差异,因为两个片段正在使用根记录器.
我试图使用Airflow来执行一个简单的任务python.
from __future__ import print_function
from airflow.operators.python_operator import PythonOperator
from airflow.models import DAG
from datetime import datetime, timedelta
from pprint import pprint
seven_days_ago = datetime.combine(datetime.today() - timedelta(7),
datetime.min.time())
args = {
'owner': 'airflow',
'start_date': seven_days_ago,
}
dag = DAG(dag_id='python_test', default_args=args)
def print_context(ds, **kwargs):
pprint(kwargs)
print(ds)
return 'Whatever you return gets printed in the logs'
run_this = PythonOperator(
task_id='print',
provide_context=True,
python_callable=print_context,
dag=dag)
Run Code Online (Sandbox Code Playgroud)
如果我尝试,例如:
气流测试python_test打印2015-01-01
有用!
现在我想把我的def print_context(ds, **kwargs)函数放在其他python文件中.所以我创建了名为:simple_test.py的antoher文件并更改:
run_this = PythonOperator(
task_id='print',
provide_context=True,
python_callable=simple_test.print_context,
dag=dag)
Run Code Online (Sandbox Code Playgroud)
现在我尝试再次运行:
气流测试python_test打印2015-01-01
好的!它仍然有效!
但是,如果我创建一个模块,例如,带有文件的worker模块 …
我想将FileStream的一部分复制到内存流.
FileStream.Write(Pointer(MemoryStream)^, MemoryStream.Size);
FileStream.Read(Pointer(MemoryStream)^, count);
Run Code Online (Sandbox Code Playgroud)
是对的吗?它不适合我.
我需要在docker容器中生成N个线程.我将收到一个元素列表,然后将其分成块,每个线程将处理每个块.
所以我使用的是一个具有一个进程和N个线程的docker容器.这是码头工人的好习惯吗?我是这么认为的,因为我们有例如处理连接生成线程的apacha webserver.
或者最好为每个块生成每个块的N个容器?如果是,那么这样做的正确方法是什么?
在微服务之间协调任务的更好选择是什么?
例如,如果我有一个处理客户信息并需要通知其他微服务的微服务,那么在微服务之间创建工作流(AWS Steps)或使用SNS是否更好?
我认为AWS Steps将耦合我的lambda函数,而SNS不会.
我正在开发一个使用AWS Cognito作为身份提供者的应用程序.因此,用户在AWS Cognito Pool上进行身份验证,并获取访问令牌,访问ID和刷新令牌.然后,用户可以向我的应用程序发出后端请求.我获取Access Token验证它,在Cognito AWS上获取用户配置文件并授权该请求.
问题是,在Access令牌过期后,客户端将过期的令牌发送到后端,后端应用程序会收到错误(令牌已经过验证或未经过授权).
如何使此工作流程有效?
我正在考虑向客户端发送令牌已过期的消息,并且客户将其刷新到Cognito Pool.这是正确的方法吗?
我正在使用main/resources/antlr-4.2-complete.jar外部库。我已经将它包含在我的类路径中。但是当我运行测试目标时,在 Eclipse 中我收到以下消息
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.048 sec <<< FAILURE!
checkGrammar(br.com.stoneage.GrammarTest) Time elapsed: 0.011 sec <<< ERROR!
java.lang.NoClassDefFoundError: org/antlr/v4/runtime/CharStream
Run Code Online (Sandbox Code Playgroud)
所以我知道测试目标不是寻找antlr-4.2-complete.jar。我该如何解决这个问题?
这是我的 POM 文件:
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.048 sec <<< FAILURE!
checkGrammar(br.com.stoneage.GrammarTest) Time elapsed: 0.011 sec <<< ERROR!
java.lang.NoClassDefFoundError: org/antlr/v4/runtime/CharStream
Run Code Online (Sandbox Code Playgroud) 我知道可以使用多个线程来使用SQS队列.我想保证每条消息都会消耗一次.我知道可以更改消息的可见性超时,例如,等于我的处理时间.如果我的进程花费的时间超过可见性超时(例如,连接速度慢),则其他线程可以使用相同的消息.
保证邮件处理一次的最佳方法是什么?
我有这种突变:
mutation updateProducts($input1 : ProductInput!, $id1: ID!, $input2 : ProductInput!, $id2: ID!){
p1: updateProduct(productInput: $input1, id: $id1){
product{
id
showcaseOrder
}
}
enter code here
p2: updateProduct(productInput: $input2, id: $id2){
product{
id
showcaseOrder
}
}
}
Run Code Online (Sandbox Code Playgroud)
我正在设置这个变量:
{
"input1": {
"showcaseOrder": 2
},
"id1": "363",
"input2": {
"showcaseOrder": 1
},
"id2": "364"
}
Run Code Online (Sandbox Code Playgroud)
我想将包含所有信息的数组传递给查询,而不是一一传递。
我的问题非常类似于:当依赖性组合成一个罐子时,仅抛出泽西异常
我运行我的应用程序(jetty embedded + jersey),一切正常.当我尝试创建可执行JAR时,我收到错误:
org.glassfish.jersey.message.internal.WriterInterceptorExecutor $ TerminalWriterInterceptor aroundWriteTo GRAVE:找不到媒体类型= application/json的MessageBodyWriter,type = class
我的POM.XML:
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>server.application.DeepDig</mainClass>
</transformer>
</transformers>
<filters>
<!-- filter to address "Invalid signature file" issue - see https://stackoverflow.com/a/6743609/589215 -->
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
Run Code Online (Sandbox Code Playgroud) python ×3
java ×2
maven ×2
airflow ×1
amazon-sns ×1
amazon-sqs ×1
antlr ×1
aws-lambda ×1
celery ×1
celery-task ×1
delphi ×1
delphi-7 ×1
docker ×1
graphql ×1
jersey ×1
logging ×1
queue ×1