Abbiamo un bel pezzo di pitone che invia alcune e-mail e interagisce con un sistema cloud. Funziona bene. Ma dobbiamo attivarlo ogni pochi minuti per eseguire il polling del db. Abbiamo davvero bisogno, per motivi di lavoro, di attivare lo script Python in tempo reale, quindi non c'è alcun ritardo di polling. (Questo serve ai venditori che sono al telefono con i clienti.)
Non vogliamo davvero un ciclo di polling di 1 minuto. O 30 secondi. Vogliamo che il disco venga mostrato nel db e che le cose accadano immediatamente.
Il modo più veloce per fare questo volo è farlo sparare quando un tipo di record specifico viene inserito in una tabella.
Possiamo sparare uno script Python da un trigger?
Secondo la nota di Aaron di seguito, sappiamo che si tratta di una cosa molto brutta ™ , ma questa tabella ha pochissimo utilizzo (0-12 inserti al giorno). Il polling della tabella non riesce a soddisfare le nostre esigenze aziendali (abbiamo bisogno che il .py venga eseguito immediatamente - fa molto di più che inviare un'e-mail).
Riteniamo che un modo per soddisfare le nostre esigenze aziendali sia impostare la versione .net di python su SQL Server, quindi fare in modo che T-SQL chiami lo script python nel modo in cui chiama roba C # ... ma non abbiamo idea di come effettivamente farlo! (ergo questa domanda).
Docs / dettagli?
Ho posto una domanda di follow-up su Stack Overflow: come posso creare una procedura CLR Python in SQL Server?
La domanda sotto la domanda : hai un pezzo di pitone. Vuoi che si attivi da un trigger SQL, ma sai che è una cosa molto brutta. Quindi cosa fai per ottenere lo stesso effetto senza avere il codice Python nel mezzo di un'operazione SQL?
Qual è l'approccio non trigger e non polling per risolvere questa esigenza?
(Lo stesso effetto = "inserisce / aggiorna / elimina si verifica in una tabella e uno script python viene attivato entro 2 secondi dall'evento db, senza eseguire il polling della tabella")