我正在使用Datastore Admincron job创建应用程序的每日备份。在
cron.xml文件:
<cronentries>
<cron>
<url>/_ah/datastore_admin/backup.create?[...]queue=backup</url>
<description>Daily Backup</description>
<schedule>[...]</schedule>
<timezone>America/New_York</timezone>
<target>ah-builtin-python-bundle</target>
</cron>
</cronentries>
我专门为备份创建了一个task queue,这样在备份期间默认队列的性能不会受到影响。在
队列.xml:
^{pr2}$GAE在备份过程中启动大量实例。因此,备份在几分钟内完成。备份过程无需快速完成此操作。我想启动较少的实例,以降低成本,只要备份仍在几个小时内完成。在
如何更改队列配置以启动较少的实例?如何确定应该为rate
,bucket size
,max-concurrent-requests
使用哪些值,以便GAE启动较少的实例,但仍然在不到24小时内完成备份?我把rate
从50减少到30,max-concurrent-requests
从256减少到128。这两个更改对实例计数或备份执行时间没有明显的影响。在
您的队列通常会被}来限制。在
rate
&;bucket
或{要使备份过程在几小时内而不是几分钟内完成,您需要大幅度地减少值,例如减少15倍。在
您没有提到完成任务需要多长时间,或者有多少任务同时运行。假设您的一些任务需要几秒钟才能完成,而其他任务则需要几分钟。那么
max-concurrent-requests
将比rate
&;bucket
更能直接控制运行的实例的最大数量。在相关问题 更多 >
编程相关推荐