public function syncDataSources()
 {
     $sync = new Sync();
     $sync->sync_status = 2;
     $sync->user_id = \Auth::id();
     $sync->save();
     return redirect('dashboard/datasources')->with('success', 'Data source sync started successfully.');
 }
Exemple #2
0
 /**
  * SYNC STATUS
  * -------------
  * 0: All data sources failed to sync
  * 1: All data sources successfully synced
  * 2: Sync Starting
  * 3: Sync Started
  * 4: Partial sync failure
  */
 public static function boot()
 {
     parent::boot();
     // Setup event bindings...
     Sync::creating(function ($sync) {
         if (!$sync->user_id) {
             return false;
         }
     });
     Sync::created(function ($sync) {
         \Queue::push(new SyncQueue($sync->id));
     });
 }
Exemple #3
0
 /**
  * Execute the command.
  *
  * @return void
  */
 public function handle()
 {
     \Log::info('[' . $this->job->getJobId() . ':' . $this->attempts() . '] Sync started.');
     ini_set('memory_limit', '256M');
     if ($this->attempts() > 3) {
         \Log::info('[' . $this->job->getJobId() . ':' . $this->attempts() . '] Sync failed.');
     } else {
         $sync = Sync::find($this->sync_id);
         $datasources = DataSource::where('config_status', 1)->get();
         foreach ($datasources as $datasource) {
             $datasource->syncData($sync);
         }
         // TODO: Check if all data sources synced successfully
         $sync->sync_status = 1;
         $sync->save();
         \Log::info('[' . $this->job->getJobId() . ':' . $this->attempts() . '] Sync completed.');
     }
     return;
 }