protected Guid ScheduleExportTableJob(string schemaName, string tableName, string path, QueueType queueType) { var queue = String.Format("Graywulf.Controller.Controller.{0}", queueType.ToString()); using (var context = ContextManager.Instance.CreateContext(ConnectionMode.AutoOpen, TransactionMode.AutoCommit)) { var user = SignInTestUser(context); var ef = new EntityFactory(context); var f = ef.LoadEntity<Federation>(Federation.AppSettings.FederationName); var format = new FileFormatFactory().GetFileFormatDescription("Jhu.Graywulf.Format.CsvFile"); var source = new Jhu.Graywulf.Schema.Table() { Dataset = user.GetUserDatabaseInstance(f.MyDBDatabaseVersion).GetDataset(), // TODO: fix this SchemaName = schemaName, TableName = tableName }; var etf = new ExportTableFactory(context); var ji = etf.ScheduleAsJob( source, path, format, queue, ""); ji.Save(); return ji.Guid; } }
private void SchduleExportTableJob() { var table = (Jhu.Graywulf.Schema.Table)SchemaManager.GetDatabaseObjectByKey(TableName.SelectedValue); var format = FileFormatFactory.GetFileFormatDescription(FileFormat.SelectedValue); // Make sure it's in MYDB if (StringComparer.InvariantCultureIgnoreCase.Compare(table.DatasetName, MyDBDatabaseDefinition.Name) != 0) { throw new InvalidOperationException(); // *** TODO } var queue = String.Format("{0}.{1}", Federation.ControllerMachine.GetFullyQualifiedName(), Jhu.Graywulf.Registry.Constants.LongQueueName); var f = new Jhu.Graywulf.Jobs.ExportTable.ExportTableFactory(RegistryContext); var job = f.ScheduleAsJob( table, Jhu.Graywulf.Web.UI.AppSettings.ExportDir, format, queue, ""); job.Save(); }