Forráskód Böngészése

[mopidy] Add crontabs

Colin Powell 2 éve
szülő
commit
b6c3e8b073

+ 11 - 0
lab/ansible/roles/mopidy/files/generate-random-playlist.sh

@@ -0,0 +1,11 @@
+#!/bin/sh
+# select X tracks at random and create a playlist
+
+num=50
+playlist="/var/lib/mopidy/playlists/Today.m3u8"
+echo "#EXTM3U" > ${playlist}
+for uri in $(sqlite3 /var/lib/mopidy/local/library.db "SELECT uri FROM track ORDER BY RANDOM() LIMIT $num;"); do
+	name=$(sqlite3 /var/lib/mopidy/local/library.db "SELECT name FROM track WHERE uri = \"$uri\";")
+	echo "#EXTINF:-1,$name"
+	echo "$uri"
+done >> ${playlist}

+ 27 - 0
lab/ansible/roles/mopidy/tasks/main.yml

@@ -15,6 +15,33 @@
 - name: Symlink image directory
   shell: rm -rf /var/lib/mopidy/local/images && ln -s /var/lib/mopidy/media/music/.mopidy-images /var/lib/mopidy/local/images
 
+- name: Today playlist generator installed
+  copy:
+    src: generate-random-playlist.sh
+    dest: /usr/local/bin/generate-random-playlist
+    owner: root
+    mode: 0700
+
+- name: Scan mopidy library once a day
+  ansible.builtin.cron:
+    name: "scan mopidy"
+    special_time: daily
+    job: "mopidy --config /usr/local/etc/mopidy.conf local scan"
+
+- name: Update random playlists once a day
+  ansible.builtin.cron:
+    name: "generate random playlists"
+    special_time: daily
+    job: "generate-random-playlist"
+
+- name: Backup mopidy DB to postgres
+  ansible.builtin.cron:
+    name: "backup db"
+    special_time: daily
+    job: "pgloader --with 'prefetch rows=100000' --logfile /var/log/pgloader.log /usr/local/etc/pgl
+oader-mopidy.conf"
+
+
 - name: Mopidy settings installed
   template:
     src: mopidy.conf.j2