@@ -4,7 +4,7 @@ extern crate s3;
4
4
use advisory_lock:: { AdvisoryFileLock , FileLockMode } ;
5
5
use env_logger:: Env ;
6
6
use inotify:: { EventMask , Inotify , WatchMask } ;
7
- use log:: { debug , error, info, warn} ;
7
+ use log:: { error, info, warn} ;
8
8
use s3:: bucket:: Bucket ;
9
9
use s3:: creds:: Credentials ;
10
10
use s3:: region:: Region ;
@@ -164,7 +164,7 @@ async fn main() -> Result<(), anyhow::Error> {
164
164
interval, schedule, interval
165
165
) ;
166
166
}
167
- // Overwriting the schedule string if interval present
167
+
168
168
if !interval. is_empty ( ) {
169
169
let mut i_interval = match interval. parse :: < u64 > ( ) {
170
170
Ok ( v) => v,
@@ -179,49 +179,39 @@ async fn main() -> Result<(), anyhow::Error> {
179
179
warn ! ( "Both schedule and INotify set. Running schedule" )
180
180
}
181
181
}
182
- //Need to clone here before it gets borrowed
182
+
183
183
let notify_location = core_location. clone ( ) ;
184
- let schedule_task;
185
184
if !schedule. is_empty ( ) {
186
- info ! ( "Schedule is Starting..." ) ;
187
- schedule_task = tokio:: spawn ( async move {
188
- info ! ( "Schedule Initialising with: {}" , schedule) ;
189
- let mut sched = JobScheduler :: new ( ) ;
190
- let s_job = match Job :: new ( schedule. as_str ( ) , move |_uuid, _l| {
191
- let handle = Handle :: current ( ) ;
192
- let core_str = core_location. clone ( ) ;
193
- handle. spawn ( async move {
194
- run_polling_agent ( & core_str) . await ;
195
- } ) ;
196
- } ) {
197
- Ok ( v) => v,
198
- Err ( e) => {
199
- error ! ( "Schedule Job Creation with {} failed, {}" , schedule, e) ;
200
- panic ! ( "Schedule Job Creation with {} failed, {}" , schedule, e)
201
- }
202
- } ;
203
- info ! ( "Created Schedule job: {:?}" , s_job. guid( ) ) ;
204
- match sched. add ( s_job) {
205
- Ok ( v) => v,
206
- Err ( e) => {
207
- error ! ( "Job Add failed {:#?}" , e) ;
208
- panic ! ( "Job Scheduing failed, {:#?}" , e)
209
- }
185
+ info ! ( "Schedule Initialising with: {}" , schedule) ;
186
+ let mut sched = JobScheduler :: new ( ) ;
187
+ let s_job = match Job :: new ( schedule. as_str ( ) , move |_uuid, _l| {
188
+ let handle = Handle :: current ( ) ;
189
+ let core_str = core_location. clone ( ) ;
190
+ handle. spawn ( async move {
191
+ run_polling_agent ( & core_str) . await ;
192
+ } ) ;
193
+ } ) {
194
+ Ok ( v) => v,
195
+ Err ( e) => {
196
+ error ! ( "Schedule Job Creation with {} failed, {}" , schedule, e) ;
197
+ panic ! ( "Schedule Job Creation with {} failed, {}" , schedule, e)
210
198
}
211
- info ! ( "Added Job to Schedule" ) ;
212
- loop {
213
- match sched. tick ( ) {
214
- Ok ( _) => {
215
- debug ! ( "Executed tick" ) ;
216
- }
217
- Err ( e) => {
218
- error ! ( "Job Tick failed {:#?}" , e) ;
219
- }
220
- } ;
221
- std:: thread:: sleep ( Duration :: from_millis ( 500 ) ) ;
199
+ } ;
200
+ info ! ( "Created Schedule job: {:?}" , s_job. guid( ) ) ;
201
+ match sched. add ( s_job) {
202
+ Ok ( v) => v,
203
+ Err ( e) => {
204
+ error ! ( "Job Add failed {:#?}" , e) ;
205
+ panic ! ( "Job Scheduing failed, {:#?}" , e)
222
206
}
223
- } ) ;
224
- schedule_task. await ?;
207
+ }
208
+ match sched. start ( ) . await {
209
+ Ok ( v) => v,
210
+ Err ( e) => {
211
+ error ! ( "Schedule Start failed {:#?}" , e) ;
212
+ panic ! ( "Schedule Start failed, {:#?}" , e)
213
+ }
214
+ } ;
225
215
}
226
216
227
217
if use_inotify == "true" {
0 commit comments