root / db / charger.py @ 7e8b41e7
History | View | Annotate | Download (616 Bytes)
1 | fcbc5bb3 | Vassilios Karakoidas | #
|
---|---|---|---|
2 | fcbc5bb3 | Vassilios Karakoidas | # Charger - Administration script
|
3 | fcbc5bb3 | Vassilios Karakoidas | #
|
4 | fcbc5bb3 | Vassilios Karakoidas | # Executed hourly to charge vm usage for each user
|
5 | fcbc5bb3 | Vassilios Karakoidas | #
|
6 | 578b725c | Vassilios Karakoidas | # Copyright 2010 Greek Research and Technology Network
|
7 | fcbc5bb3 | Vassilios Karakoidas | #
|
8 | fcbc5bb3 | Vassilios Karakoidas | |
9 | 738c4d47 | Georgios Gousios | from synnefo.db.models import VirtualMachine |
10 | fcbc5bb3 | Vassilios Karakoidas | |
11 | 6bffabbd | Vassilios Karakoidas | from logic import credits |
12 | 04a6d900 | Vassilios Karakoidas | |
13 | 452d2391 | Vassilios Karakoidas | def periodically_charge(): |
14 | b90da243 | Vassilios Karakoidas | """Scan all virtual machines and charge each user"""
|
15 | b46e0e43 | Georgios Gousios | active_vms = VirtualMachine.objects.filter(deleted=False)
|
16 | 578b725c | Vassilios Karakoidas | |
17 | 6bffabbd | Vassilios Karakoidas | if not len(active_vms): |
18 | 578b725c | Vassilios Karakoidas | print "No virtual machines found" |
19 | 452d2391 | Vassilios Karakoidas | return
|
20 | fcbc5bb3 | Vassilios Karakoidas | |
21 | 6bffabbd | Vassilios Karakoidas | for vm in active_vms: |
22 | 04a6d900 | Vassilios Karakoidas | # Running and Stopped is charged, else the cost is zero
|
23 | 6bffabbd | Vassilios Karakoidas | credits.charge(vm) |
24 | d08a5f6f | Vangelis Koukis | |
25 | d08a5f6f | Vangelis Koukis | # vim: set ts=4 sts=4 sw=4 et ai : |