java - exception d'exécution de tâche planifiée au printemps
phpcn_u1582
phpcn_u1582 2017-05-17 10:02:53
0
1
1088

La tâche était initialement exécutée à 1 heure du matin tous les jours du lundi au vendredi. Après avoir vérifié le journal, j'ai constaté qu'elle était exécutée à 20h00 le dimanche. Pour connaître les raisons possibles, le serveur est un processeur monocœur.
Supplémentaire : il y a deux AB dans ma classe de tâches planifiées. Tâches planifiées, la tâche A est exécutée à 13 heures du lundi au vendredi (@Scheduled(cron = "0 0 1 ? MON-FRI"), la tâche B est exécuté à 3 heures tous les jours (@Scheduled(cron = "0 0 3 ? * ")), vérifiez le journal et constatez que du lundi au vendredi, la tâche A est exécutée en premier, puis la tâche B, c'est-à-dire B est exécutée sans attendre 15 heures ; quand nous sommes samedi et dimanche, la tâche B est exécutée à 15 heures, mais la tâche A a été exécutée à 20 heures le dimanche. . .

phpcn_u1582
phpcn_u1582

répondre à tous(1)
过去多啦不再A梦

Je suppose que vous n'avez pas spécifié la taille du pool de la tâche planifiée, donc par défaut toutes les planifications partagent un seul thread. Vous devez préciser la taille de la piscine du planning

xml

<task :annotation-driven scheduler ="myScheduler" />
<task :scheduler id ="myScheduler" pool-size ="10" />

haricot

  @Bean(destroyMethod = "shutdown")
    public Executor taskScheduler() {
        return Executors.newScheduledThreadPool(10);
    }

Ajout :
Partager un fil de discussion entraînera de sérieux problèmes. Si la tâche A n'est pas exécutée dans les 2 heures, le temps d'exécution de la tâche B sera retardé voire non exécuté.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal