25 lines
791 B
Python
25 lines
791 B
Python
from celery import shared_task
|
|
|
|
from app.utils import send_sync_channel_message
|
|
|
|
from .models import Torrent
|
|
from .utils import transmission_handler
|
|
|
|
|
|
@shared_task
|
|
def update_transmission_data():
|
|
data = transmission_handler.get_all_data()
|
|
|
|
updated_torrents = []
|
|
for torrent in Torrent.objects.all():
|
|
if torrent.id in data and torrent.transmission_data != data[torrent.id]:
|
|
torrent.transmission_data = data[torrent.id]
|
|
updated_torrents.append(torrent)
|
|
if updated_torrents:
|
|
Torrent.objects.bulk_update(updated_torrents, ["transmission_data"])
|
|
send_sync_channel_message(
|
|
"torrent",
|
|
"transmission_data_updated",
|
|
{torrent.id: torrent.transmission_data for torrent in updated_torrents},
|
|
)
|