什么是稀疏文件,为什么需要它?我唯一能得到的是它是一个非常大的文件,它是高效的(千兆字节).效率如何?
我在我的Django应用程序中使用社交登录.所以,我在我的settings.py文件中添加了额外的后端.
AUTHENTICATION_BACKENDS = [
'django.contrib.auth.backends.ModelBackend',
'social_core.backends.open_id.OpenIdAuth',
'social_core.backends.google.GoogleOpenId',
'social_core.backends.google.GoogleOAuth2',
'social_core.backends.google.GoogleOAuth',
'social_core.backends.twitter.TwitterOAuth',
'social_core.backends.facebook.FacebookOAuth2',
'social_core.backends.github.GithubOAuth2',
Run Code Online (Sandbox Code Playgroud)
]
我也用于UserCreationForm注册,
class SignupForm(UserCreationForm):
first_name = forms.CharField(max_length=30, required=True, help_text='Required.')
last_name = forms.CharField(max_length=30, required=True, help_text='Required.')
email = forms.EmailField(max_length=254, help_text='Required. Inform a valid email address.')
class Meta:
model = User
fields = ('username', 'first_name', 'last_name', 'email', 'password1', 'password2' )
Run Code Online (Sandbox Code Playgroud)
这是视图文件,
def signup(request):
if request.method == 'POST':
form = SignupForm(request.POST)
if form.is_valid():
form.save()
username = form.cleaned_data.get('username')
raw_pass = form.cleaned_data.get('password')
user = authenticate(request, username=username, password=raw_pass)
login(request,user,backend='django.contrib.auth.backends.ModelBackend')
url = …Run Code Online (Sandbox Code Playgroud) 我目前正在使用filebeat将日志转发到logstash,然后转发到elasticsearch.
现在,我正在考虑通过rsyslog将日志转发到logstash.这样做的好处是,我不需要在每台服务器上安装和配置filebeat,而且我也可以转发JSON格式的日志,这种格式易于解析和过滤.
我可以使用TCP/UDP通过rsyslog将日志转发到logstash.
我想知道rsyslog优于filebeat的优点和缺点,包括性能,可靠性和易用性.
如果 celery 任务失败,我会尝试重试它。这是我的任务,
@shared_task(queue='es', bind=True, max_retries=3)
def update_station_es_index(doc_id, doc_body):
"""
Celery consumer method for updating ES.
"""
try:
#es_client is connecting to ElasticSearch
es_client.update_stations(id=doc_id, body=doc_body)
except Exception as e:
self.retry(exc=e)
Run Code Online (Sandbox Code Playgroud)
但是在调用此任务时出现此错误,
TypeError: update_station_es_index() takes 2 positional arguments but 3 were given
Run Code Online (Sandbox Code Playgroud)
我没有在网上找到足够的帮助来解决这个错误,只是这个 github 问题,但这并不能解释太多。
谁能告诉我发生了什么以及这里的解决方案是什么?
使用 Django2.0.5 和 celery4.2.0
我正在使用内部联接从 2 个表中查询一些数据。
这是查询,
test_db=> select api_booking.install_ts, api_user.id from api_booking inner join api_user on api_booking.user_id=api_user.id and api_booking.status='completed' limit 20 ;
install_ts | id
-------------------------------+----
2016-09-15 09:53:42.511367+00 | 9
2016-10-12 11:37:11.438715+00 | 9
2016-10-21 08:55:49.57813+00 | 9
2017-02-27 06:12:17.362996+00 | 9
2017-02-27 06:24:59.316051+00 | 9
2017-02-28 06:15:35.00841+00 | 9
2017-02-28 06:34:57.766365+00 | 9
2017-05-23 14:40:54.831525+00 | 14
2017-06-05 07:47:39.78306+00 | 17
2017-06-05 07:55:30.171103+00 | 17
2016-12-06 06:47:43.860581+00 | 19
2016-09-09 07:34:58.40589+00 | 20
2016-11-16 09:09:24.466439+00 | 24
2016-10-03 02:52:24.419793+00 | 24 …Run Code Online (Sandbox Code Playgroud) 我正在使用 AWS EKS。我已经在 kubernetes 集群中的 gunicorn 的帮助下启动了我的 django 应用程序。
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: api
labels:
app: api
type: web
spec:
replicas: 1
template:
metadata:
labels:
app: api
type: web
spec:
containers:
- name: vogofleet
image: xx.xx.com/api:image2
imagePullPolicy: Always
env:
- name: DATABASE_HOST
value: "test-db-2.xx.xx.xx.xx.com"
- name: DATABASE_PASSWORD
value: "xxxyyyxxx"
- name: DATABASE_USER
value: "admin"
- name: DATABASE_PORT
value: "5432"
- name: DATABASE_NAME
value: "test"
ports:
- containerPort: 9000
Run Code Online (Sandbox Code Playgroud)
我已经应用了这些更改,并且可以看到我的 pod 正在运行 kubectl get pods
现在,我试图通过服务对象公开它。这是我的服务对象,
# service …Run Code Online (Sandbox Code Playgroud) amazon-web-services kubernetes kubernetes-service amazon-eks
我想编辑telegraf(系统指标收集代理)的配置文件.
Telegraf带有一个可以编辑的默认配置文件.其中定义了许多输入和输出插件,这些插件已注释掉,可以通过删除注释添加,也可以自定义.
我只想编辑那里定义的一些插件,而不是全部.例如,考虑这是文件,
[global]
interval='10s'
[outputs.influxdb]
host=['http://localhost:8086']
#[outputs.elasticsearch]
# host=['http://localhost:9200']
[inputs.netstat]
interface='eth0'
Run Code Online (Sandbox Code Playgroud)
现在,我想编辑3个块global,outputs.influxdb和inputs.netstat.我不想编辑,outputs.elasticsearch但也希望该块outputs.elasticsearch应保留在文件中.
当使用Ansible时,我首先使用了模板模块,但是如果我使用它,那么评论的数据将会丢失.
然后我使用ini_file模块,而不是编辑已经存在的块,它添加了一个新块,即使它已经存在,并导致类似这样的事情,
[outputs.influxdb]
host=[http://localhost:8086]
[outputs.influxdb]
host=[http://xx.xx.xx.xx:8086]
Run Code Online (Sandbox Code Playgroud)
哪个模块适用于我的场景?
我已经编写了自己的登录和注销视图。
我正在使用LOGIN_REDIRECT_URL设置重定向页面。
我的登录视图相当简单:
def todologin(request):
if request.method == 'POST':
form = LoginForm(request.POST)
if form.is_valid():
username = form.cleaned_data.get('username')
password = form.cleaned_data.get('password')
user = authenticate(username=username, password=password)
login(request, user)
url = reverse('pilot:home')
return HttpResponseRedirect(url)
else:
form = LoginForm()
return render(request, 'login.html', {'form':form})
@login_required
def home(request):
Run Code Online (Sandbox Code Playgroud)
我@login_required在我的主页上使用。
这是 的值LOGIN_REDIRECT_URL:
LOGIN_REDIRECT_URL = '/login/'
# tried this one too, LOGIN_REDIRECT_URL = 'pilot:login'
Run Code Online (Sandbox Code Playgroud)
我的应用程序的 urls.py:
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^signup/', views.signup),
url(r'^home/', views.home, name='home'), …Run Code Online (Sandbox Code Playgroud) 我已经在 Postgres 中扮演了一个角色readonly。它对所有数据库中的所有表具有只读访问权限。
我想将此角色附加给用户,以便他/她也可以通过一个命令获得对所有表的只读访问权限。如何使用 ansible 的 postgresql_user 模块执行以下命令?
mydb=> grant readonly to dev_username;
Run Code Online (Sandbox Code Playgroud)
编辑:添加更多细节
这是我尝试过的,
- name: Postgres
postgresql_user:
login_host: xx.xx.com
login_password: mypassword
login_user: myuser
db: mydb
name: dev_username
password: mypassword
priv: "readonly"
expires: infinity
state: present
Run Code Online (Sandbox Code Playgroud)
它给了我这个错误,
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: __main__.InvalidPrivsError: Invalid privs specified for database: READONLY
fatal: [127.0.0.1]: FAILED! => {"changed": false, "module_stderr": "Traceback (most recent call last):\n File \"/var/folders/h1/w57gk9nx0xl8j6xb_cqv3wb00000gn/T/ansible_2ema8gl3/ansible_module_postgresql_user.py\", line 855, in …Run Code Online (Sandbox Code Playgroud) 这是我的剧本,
---
- hosts: alpha
vars:
company: vogo
tasks:
- name: debugging
debug:
msg: "{{ansible_hostname}}"
vars_prompt:
- name: "company"
prompt: "Where do you work"
private: no
- hosts: webservers
vars_prompt:
- name: "fathercompany"
prompt: "Where your father works"
private: no
tasks:
- name: test
debug:
msg: just testing "{{company2}}"
Run Code Online (Sandbox Code Playgroud)
以下是我运行playbook时执行流程的步骤,
1 - 提示1(你在哪里工作)
2 - 任务调试
3 - 提示2(你父亲的工作地点)
4 - 任务测试
我有一些问题.
首先,当我运行这个剧本时,首先应该运行"调试"任务,然后提示应该询问公司名称.但是,当我运行这个剧本时,在第一步,它会询问"你在哪里工作?".为什么先提示?我错过了某种我应该通过的参数吗?
其次,我在这里提出2个提示,
我想company在webservers主机块中使用提示值.但是当我尝试这样做时,它给了我错误.
我不能将一个主机块中的提示值用于另一个主机块吗?
第三,
如何在角色中使用提示?
我有一个模型有2个字段,如,
pickup_station_id = models.IntegerField(null=True)
drop_station_id = models.IntegerField(null=True)
Run Code Online (Sandbox Code Playgroud)
我想要一个admin中的过滤器,它可以根据以下内容过滤查询集:
如何根据这些条件获取查询集?
我的意思是,像这样的,
Mymodel.objects.filter(pickup_station_id==drop_station_id)
Mymodel.objects.filter(pickup_station_id!=drop_station_id)
Run Code Online (Sandbox Code Playgroud) 我有一个叫预订的模型。它具有start_time和end_time字段。它也有一个is_active领域。
现在,假设预订有start_time = 2017/Nov/22 12:00:00和end_time = 2017/Nov/22 14:00:00。
现在,当服务器崩溃时,
1-如果当前时间在开始时间和结束时间之间,则is_active应该为True。
2-当前时间大于end_time或小于预订的start_time,我要设置is_active = False。
我希望它在后台连续运行,以便它必须在数据库中实时保持预订is_active状态。如何在django中做到这一点?
django ×5
python ×4
ansible ×3
amazon-eks ×1
ansible-2.x ×1
disk ×1
file ×1
filebeat ×1
filesystems ×1
inner-join ×1
kibana ×1
kubernetes ×1
logstash ×1
postgresql ×1
python-3.x ×1
rsyslog ×1
sparse-file ×1
sql ×1
system ×1
timelion ×1