Advertisement
Guest User

Untitled

a guest
Feb 19th, 2016
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.13 KB | None | 0 0
  1. Thanks for quartzite.
  2. I am trying to make quartz work with jdbc store. However, i find that new jobs are not triggering.
  3. I can see all new jobs and triggers in my database. My `defjobs` from another files also work.
  4. It is just that jobs are not getting triggered.
  5. My scheduler code is :
  6.  
  7. ```clj
  8. (ns theophrastus.utils
  9. (:require [clojurewerkz.quartzite.scheduler :as qsched]
  10. [clojurewerkz.quartzite.triggers :as qtrigger]
  11. [clojurewerkz.quartzite.jobs :as qjobs]
  12. [clojurewerkz.quartzite.jobs :refer [defjob]]
  13. [clojurewerkz.quartzite.schedule.simple :refer [schedule with-repeat-count with-interval-in-milliseconds]]
  14. [theophrastus.tasks :as ttasks]
  15. [clj-time.core :as tt])
  16. (:import [theophrastus.tasks NoOpJob])
  17. (:import theophrastus.listeners)
  18. (:import java.util.UUID)
  19. (:import java.lang.Thread))
  20.  
  21. (qtrigger/key "triggers.102")
  22. (qjobs/key "jobs.102")
  23.  
  24. (def scheduler (atom nil))
  25.  
  26. (defjob NoOpJob-in-file
  27. [ctx]
  28. (println "Running no-op-job"))
  29.  
  30. (defn start-scheduler []
  31. (let [s (-> (qsched/initialize) qsched/start)
  32. x (println (.getMetaData s))
  33. job (qjobs/build
  34. (qjobs/of-type NoOpJob-in-file)
  35. (qjobs/with-identity (qjobs/key (str (UUID/randomUUID)) "test_job_")))
  36. trigger (qtrigger/build
  37. (qtrigger/with-identity (qtrigger/key
  38. (str (UUID/randomUUID)) "test_trig_"))
  39. (qtrigger/start-at (-> 5 tt/seconds tt/from-now))
  40. (qtrigger/with-schedule (schedule
  41. (with-repeat-count 10)
  42. (with-interval-in-milliseconds 200))))]
  43. (reset! scheduler s)
  44. (qsched/add-scheduler-listener s (listeners.))
  45. (qsched/schedule s job trigger)
  46. (println (if (qsched/started? s)
  47. ">>>>>>>>>> scheduler started : true"
  48. ">>>>>>>>>> scheduler started : false"))
  49. )))
  50. ```
  51. My properties file is :
  52. ```
  53. org.quartz.scheduler.threadsInheritContextClassLoaderOfInitializer=true
  54. org.quartz.scheduler.classLoadHelper.class=theophrastus.DynamicClassLoadHelper
  55. org.quartz.threadPool.threadCount=6
  56.  
  57. org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
  58. org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
  59.  
  60. org.quartz.jobStore.tablePrefix = qrtz_
  61. org.quartz.jobStore.dataSource = ashish
  62.  
  63. org.quartz.dataSource.ashish.driver=org.postgresql.Driver
  64. org.quartz.dataSource.ashish.URL=jdbc:postgresql://localhost:5438/french_castle
  65. org.quartz.dataSource.ashish.user=french_castle
  66. org.quartz.dataSource.ashish.password=castle
  67.  
  68. ```
  69. I added scheduler listener with below code to get scheduler state messages :
  70. ```clj
  71. (ns theophrastus.listeners
  72. (:gen-class :extends org.quartz.listeners.SchedulerListenerSupport
  73. :expose-methods {-jobAdded jobAdded
  74. -jobScheduled jobScheduled
  75. -schedulerError schedulerError
  76. -jobDeleted jobDeleted
  77. -jobUnscheduled jobUnscheduled
  78. -triggerPaused triggerPaused
  79. -triggerResumed triggerResumed
  80. }))
  81.  
  82. (defn- -jobAdded [this jobDetail]
  83. (println ">>>>>>>>>>>>> SchedulerListenerSupport : Job added " + (.getKey jobDetail)))
  84.  
  85. (defn- jobDeleted [this jobDetail]
  86. (println ">>>>>>>>>>>>> SchedulerListenerSupport : Job deleted " + (.getKey jobDetail)))
  87.  
  88. (defn- jobUnscheduled [this triggerKey]
  89. (println ">>>>>>>>>>>>> SchedulerListenerSupport : Job jobUnscheduled " + triggerKey))
  90.  
  91. (defn- -jobScheduled [this trigger]
  92. (println ">>>>>>>>>>>>> SchedulerListenerSupport : In SchedulerListener jobScheduled with trigger."))
  93.  
  94. (defn- -schedulerError [this msg exception]
  95. (println ">>>>>>>>>>>>> SchedulerListenerSupport : schedulerError : " msg exception))
  96.  
  97. (defn- triggerPaused [this triggerKey]
  98. (println ">>>>>>>>>>>>> SchedulerListenerSupport : Job triggerPaused " + triggerKey))
  99.  
  100. (defn- triggerResumed [this triggerKey]
  101. (println ">>>>>>>>>>>>> SchedulerListenerSupport : Job triggerKey " + triggerKey))
  102. ```
  103.  
  104. The log generated with `lein run server` given to my -main :
  105. ```log
  106. #object[org.quartz.SchedulerMetaData 0x68c7162b Quartz Scheduler (v2.1.7) 'QuartzScheduler' with instanceId 'NON_CLUSTERED'
  107. Scheduler class: 'org.quartz.impl.StdScheduler' - running locally.
  108. Running since: Fri Feb 19 17:32:51 IST 2016
  109. Not currently in standby mode.
  110. Number of jobs executed: 0
  111. Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 6 threads.
  112. Using job-store 'org.quartz.impl.jdbcjobstore.JobStoreTX' - which supports persistence. and is not clustered.
  113. ]
  114. >>>>>>>>>>>>> SchedulerListenerSupport : Job added #function[clojure.core/+] #object[org.quartz.JobKey 0x2a0c9309 test_job_.fab82dcd-d7b2-45c0-922a-96bc4d5c2444]
  115. >>>>>>>>>>>>> SchedulerListenerSupport : In SchedulerListener jobScheduled with trigger.
  116. >>>>>>>>>> scheduler started : true
  117. ```
  118.  
  119. However, when i comment out my datasource and jobstore from quartz.properties,
  120. i get in logs :
  121. ```log
  122. #object[org.quartz.SchedulerMetaData 0x23338420 Quartz Scheduler (v2.1.7) 'QuartzScheduler' with instanceId 'NON_CLUSTERED'
  123. Scheduler class: 'org.quartz.impl.StdScheduler' - running locally.
  124. Running since: Fri Feb 19 17:34:14 IST 2016
  125. Not currently in standby mode.
  126. Number of jobs executed: 0
  127. Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 6 threads.
  128. Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
  129. ]
  130. >>>>>>>>>>>>> SchedulerListenerSupport : Job added #function[clojure.core/+] #object[org.quartz.JobKey 0x7e18b9e6 test_job_.ef2e0407-8cb8-468e-9350-105ff7291553]
  131. >>>>>>>>>>>>> SchedulerListenerSupport : In SchedulerListener jobScheduled with trigger.
  132. >>>>>>>>>> scheduler started : true
  133. 2016-02-19 17:34:14.458 INFO [main] theophrastus.core - Server up and running!
  134. Running no-op-job
  135. Running no-op-job
  136. Running no-op-job
  137. Running no-op-job
  138. Running no-op-job
  139. Running no-op-job
  140. Running no-op-job
  141. Running no-op-job
  142. Running no-op-job
  143. Running no-op-job
  144. Running no-op-job
  145. ```
  146.  
  147. What i am doing wrong with Persistent stores ?
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement