我正在尝试在Windows Phone 7 UserControl中对ListPicker的SelectedIndex属性进行双向绑定.
当我设置DataContext时,它引发以下异常:
SelectedIndex must always be set to a valid value.
这是XAML代码
<Grid x:Name="LayoutRoot">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<toolkit:ListPicker
Grid.Row="0"
x:Name="List1"
SelectionChanged="Picker_SelectionChanged"
SelectedIndex="{Binding PickerSelectedIndex, Mode=TwoWay}"
ItemTemplate="{StaticResource PickerTemplate}"
ItemsSource="{Binding MyList}"/>
</Grid>
Run Code Online (Sandbox Code Playgroud)
和DataContext背后的代码
private ObservableCollection<MyClass> myList = null;
public ObservableCollection<MyClass> MyList
{
get { return this.myList; }
set
{
if (value != this.myList)
{
this.myList= value;
NotifyPropertyChanged("MyList");
this.PickerSelectedIndex = 0;
}
}
}
private int pickerSelectedIndex = 0;
public int PickerSelectedIndex
{
get
{
return this.pickerSelectedIndex;
} …Run Code Online (Sandbox Code Playgroud) 我正在重构一个将约 120 万个小文件上传到 AWS 的作业;以前,此上传是在具有进程的 64 个 CPU 机器上逐个文件进行的。我按照S3 速率限制和最佳实践以及性能指南切换到异步 + 多进程方法,以使其更快。使用示例数据,我可以实现低至 1/10 的执行时间。对于生产负载,S3 返回“SlowDown”错误。
实际上业务逻辑使文件夹结构如下所示:
s3://bucket/this/will/not/change/<shard-key>/<items>
Run Code Online (Sandbox Code Playgroud)
对象将平均分配到 ~30 个分片键,使每个前缀包含 ~40k 项。
我们让每个进程都写在自己的前缀上,并以异步方式启动一批 3k PUT 请求,直到完成。批量写入操作后有一个睡眠,以确保我们不会在 1.1 秒过去之前发送另一个批次,因此我们将尊重每秒 3500 个 PUT 请求。
问题是我们在大约 1 小时内收到 SlowDown 错误,然后作业在大约 15 分钟内写入所有文件。如果我们将限制降低到 1k/sec,情况会更糟,运行数小时并且永远不会完成。
我们使用带有aiobotocore 的Python 3.6来运行异步。
进行某种试验和错误以试图了解如何减轻这种情况需要永远对生产数据进行测试,而使用较少数量的数据进行测试会给我们不同的结果(完美无缺)。
我是否错过了有关如何正确扩展系统的任何文档?
我尝试用Django中的分页选项实现分页选项但是,我无法弄清楚我该如何正确地做到这一点.
views.py
def search(request):
eList = Employer.objects.filter(eminence__lt=4).order_by('-eminence')
paginator = Paginator(eList, 3) # Show 3 contacts per page
page = request.GET.get('page')
try:
employerList = paginator.page(page)
except PageNotAnInteger:
employerList = paginator.page(1)
except EmptyPage:
employerList = paginator.page(paginator.num_pages)
return render_response(request, 'employer/search.html', {'employerList':employerList})
Run Code Online (Sandbox Code Playgroud)
search.html
<div class="pagination">
<span class="step-links">
{% if employerList.has_previous %}
<a href="?page={{ employerList.previous_page_number }}">previous</a>
{% endif %}
<span class="current"> Page {{ employerList.number }} of {{ employerList.paginator.num_pages }}.</span>
{% if employerList.has_next %}
<a href="?page={{ employerList.next_page_number }}">next</a>
{% endif %}
</span>
</div>
Run Code Online (Sandbox Code Playgroud)
这个例子很有用,但是你可以看到,我需要获得所有Employer对象的每个导航.之后 …