744 messaggi dal 08 aprile 2009
Ho pubblicato la mia prima web app su Azure sviluppata con MVC.
Adesso devo fare della manutenzione ed ho creato un web job schedulato per pulire files di stampa generati con un power shell.
Dovrei fare anche un job schedulato per pulire dei dati dal database più vecchi di tot giorni.
Mi chiedevo qual'era l'approccio più giusto e se avete delle guide di riferimento da condividermi.
699 messaggi dal 13 novembre 2008
Contributi
Ciao, meglio usare le Function di Azure, questo dovrebbe fare al caso tuo
https://docs.microsoft.com/it-it/azure/azure-functions/functions-scenario-database-table-cleanup#add-a-timer-triggered-function
744 messaggi dal 08 aprile 2009
ho visto che va aggiunta come app function e segue un piano tariffario.
Pensavo di farlo direttamente dentro il mio app service altrimenti non ci sto dentro con il budget.
699 messaggi dal 13 novembre 2008
Contributi
si, ma paghi solo il tempo di impiego della risorsa, è fuori da altri servizi quindi non grava sull'app, i vantaggi ci sono, secondo me è l'approccio corretto; prova a fare due conti con il calcolatore di Azure, altrimenti fai un altro web job.
744 messaggi dal 08 aprile 2009
eh ma un altro web job devo eseguire un qualcosa che mi aggiorna i dati del db.
potrei crearne uno con un file js che esegue in post un metodo...
699 messaggi dal 13 novembre 2008
Contributi
eh ma un altro web job devo eseguire un qualcosa che mi aggiorna i dati del db

una cosa simile a questa?
https://stackoverflow.com/questions/24941001/sql-database-access-from-a-webjob-in-azure
744 messaggi dal 08 aprile 2009
esatto!

sono riuscita a inserire nel progetto un progetto webjob e nelle function ho inserito questo:
   public static void ProcessQueueMessage([QueueTrigger("queue")] string message, TextWriter log)

        {
            log.WriteLine(message);
            if (message.StartsWith("accessiclear-"))
                ClearAccessi(message.Replace("accessiclear-",""));
        }



Praticamente se mi arriva un messaggio che inizia con accessicliear- faccio partire una funzione che passando come stringa di connessione quello che trovo tropo accessiclear- e o scrivo il codice per pulire il db o farò partire una stored produre.

Ora, essendo neofita di Azure e soprattutto di alcune procedure, non mi è chiaro come inserisco i messaggi queue in produzione e quindi farlo partire a un orario prestabilito.

Io in questo progetto non utilizzo .NET Core ma è ancora con il classico Framework.
744 messaggi dal 08 aprile 2009
Ho installato le estensioni per sdk 3 e a questo punto ho generato una funzione in Trigger
   [FunctionName("ClearAccessi")]
        public static void Run([TimerTrigger("0 0 0 * * *")] TimerInfo myTimer, ILogger log)
        {
            if (myTimer.IsPastDue)
            {
                log.LogInformation("Timer is running late!");
            }
            log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}");
            IConfigurationRoot configurationRoot = BuildConfiguration();

            string connectionString = configurationRoot.GetSection("ConnectionStrings")["DBConnectionString"];


            string message = ClearAccessi(connectionString);
            log.LogInformation(message);
        }



Adesso l'ultimo passaggio che mi manca è da dove su Azure leggo i messaggi scritti sul log

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.