Commit graph

362 commits

Author SHA1 Message Date
Paul Chavard
282ce1322c fix(stats): more accurat stats about deleted dossiers 2024-04-04 19:00:48 +02:00
Paul Chavard
81c325f938 chore(task): another attempt to backfill stable_id 2024-04-04 17:55:38 +02:00
simon lehericey
42af5a9149
make cron_job work with both delayed_job and sidekiq 2024-04-04 16:38:38 +02:00
simon lehericey
dd6c558541
fix: discard deserialization error as there are raised from AR not found 2024-04-02 10:00:06 +02:00
mfo
fd5faad31f
fix(Champs::PaysChamp): validates Champs::PaysChamp respecting it's validation context. Also do not save value when external_id/code can't be found by lookup 2024-04-01 07:18:13 +02:00
Martin
be47152096 tech(export_job): sometimes ExportJob are OOMed, in those cases jobs are stuck and never retried. release lock and increase attemps 2024-03-26 15:29:04 +01:00
Colin Darie
578f19b000 chore(service): limit geocoding area to INSEE code commune 2024-03-13 10:40:39 +01:00
Eric Leroy-Terquem
c95f0f1cad feat(procedure): send notifications after closing 2024-03-11 15:48:28 +01:00
Paul Chavard
1243cfefeb fix(entreprise): graphql effectif 2024-03-05 16:00:28 +01:00
Colin Darie
bfb98554ff
fix(active-storage): don't fail on analyzing a blob derivated by watermark
Quand l'analyse du job se produit après le watermark, elle doit comparer
le checksum avec celui du fichier filigrané.
2024-02-12 16:30:58 +01:00
Colin Darie
0da2843f26
fix(rubocop): Rails/FindEach 2024-02-12 09:33:17 +01:00
Colin Darie
533ce8d7ba fix(procedure-url-check): don't fail when other attribute have an error 2024-01-29 15:42:35 +01:00
simon lehericey
97f335c36a add a cron job to send expiration notice 2024-01-26 10:18:16 +01:00
simon lehericey
016c392914 tech: add env var to disable cron scheduling 2023-12-14 17:12:19 +01:00
simon lehericey
e75d87e76b chore(pjs_migration): remove now obsolete migration_jobs 2023-12-14 14:10:09 +01:00
Colin Darie
3d21262e89
test(declarative): clarify intention with pending correction & declarative procedure 2023-12-12 15:05:45 +01:00
Martin
b0e818f8f1 correctif(ResetExpiringDossiersJob): timeout sur la prod, utilise une requete plus générique mais plus rapide [on ne scope pas aux dossiers ayant ete notifies, on les reset tous car ca timeouté 2023-12-06 16:45:14 +01:00
simon lehericey
1880a15d69 sidekiq test job can raise an exception 2023-11-22 10:08:55 +01:00
simon lehericey
137680879c Add sentry sidekiq 2023-11-22 10:08:55 +01:00
Martin
fd81936baf correctif(users.expires): maj l'appel a process_expired car le service est instanciable maintenant 2023-11-21 10:18:58 +01:00
Martin
81826e2509 amelioration(Cron::ExpiredUsersDeletionJob): ne retente jamais ce job si il crash [pour eviter de se lancer ds une boucle infinie de suppression] 2023-11-17 11:33:14 +01:00
Martin
66cf41b6d2 amelioration(procedure.duree_conservation_dossiers_dans_ds_changes): reset les flag d'expirations lorsqu'on change la date de conservation des dosseirs d'une procedure 2023-11-17 11:33:14 +01:00
Martin
1716a931c5 amelioration(Procedure.procedure_expires_when_termine_enabled): active l'expiration des dossiers terminés sur les procedure ne l'ayant pas activé jusqu'à présent. La cible est de faire ça sur 20 Procedure quotidiennement 2023-11-17 11:33:14 +01:00
Martin
fb238ff7ac tech(refactor): deplace l'echelonnement des taches cron liés a l'expiration dans un module dédié 2023-11-17 11:33:14 +01:00
Martin
99529c611d tech(refactor): deplace les service d'expiration usager/dossier dans un namespace dedié 2023-11-17 11:33:14 +01:00
Martin
b989af5b47 amelioration(ExpiredUsersDeletionService): limite le nombre d'envoie d'email sur le job de suppression des utilisateurs 2023-11-17 11:33:14 +01:00
Martin
252b3e4719 tech(expires-user.cron): ajoute une tache cron [débrayable] pour faire tourner la tache de suppression des usagers inutile
attention, pour notre instance, avec ma db anonymiser :
```
ExpiredUsersDeletionService.find_expired_user.pluck(:id).size
=> 1795515
```
2023-11-17 11:33:14 +01:00
mfo
e70c49d47b
Merge pull request #9689 from mfo/US/fix-not-normalized-champs-commune
correctif(Champs::CommuneChamp): il restait des champs commune a normaliser
2023-11-10 09:55:11 +00:00
Martin
2d4701ac61 correctif(Champs::CommuneChamp): il restait des champs commune a normaliser 2023-11-10 10:42:42 +01:00
simon lehericey
167060ea14 add dummy sidekiq job 2023-11-09 16:57:10 +01:00
Christophe Robillard
97ff31f60f update departement after getting etablissement_infos 2023-10-27 10:00:52 +02:00
krichtof
7ae66d0360
Merge pull request #9613 from demarches-simplifiees/8742-effectifs
tech: utilise l'api entreprise v3 pour récupérer les effectifs mensuels et annuels
2023-10-19 14:46:10 +00:00
Martin
b69d4baaa2 amelioration(email): passe les jobs non prioritaire [appelons ça des bulk email], dans la queue de low_priority 2023-10-18 17:08:43 +02:00
Christophe Robillard
e5d0d7dda2 get most fresh info for effectifs mensuels 2023-10-17 13:48:46 +02:00
LeSim
34dcf4ae9f
Merge pull request #9523 from demarches-simplifiees/destroy_blob_not_found_in_migrations
Lors de la migration des pjs, détruit les blobs qui n'existent pas dans l'espace de stockage
2023-10-10 10:49:26 +00:00
Christophe Robillard
73953a8a57 fix sentry capture message for webhook 2023-10-10 11:00:58 +02:00
Christophe Robillard
3fdc3a15be add sentry context to webhook call 2023-10-09 11:42:13 +02:00
simon lehericey
23b68fa5aa pj_migration: destroy blob if not found 2023-09-28 10:41:33 +02:00
Colin Darie
c9bde31ef2
Merge pull request #9470 from colinux/improve-watermark
ETQ instructeur: nouveau filigrane des titres d'identité qui améliore la lisibilité des images
2023-09-12 12:09:58 +00:00
Colin Darie
201b31bf36
refactor(watermark): small text based watermarked to increase document visibility 2023-09-12 13:04:31 +02:00
simon lehericey
9cb94f92a6 fix(archive): do not retry 25 times if the related objected does not exist no more 2023-09-07 16:53:37 +02:00
simon lehericey
5534190c89 chore: build openstack client without calling now private service.client 2023-09-07 15:57:39 +02:00
Paul Chavard
ca4066939c chore(pipedrive): remove pipedrive 2023-08-10 10:29:25 +02:00
simon lehericey
ee471614eb tech(pjs): add pjs migration cron 2023-07-12 12:05:25 +02:00
Colin Darie
5db80ee6de
feat(sva): cron accepts dossiers for each sva procedure 2023-07-11 10:01:47 +02:00
Colin Darie
3885864200
Merge pull request #9289 from demarches-simplifiees/new_pj_scheme
Change le nommage des pjs à %Y/%m/%d/sd/sd.....
2023-07-10 13:20:34 +00:00
Paul Chavard
c74351459e feat(champ): add result error handling to ChampFetchExternalDataJob 2023-07-10 14:57:34 +02:00
simon lehericey
db70624398 feat(pj): change naming scheme to %Y/%m/%d/sd/sd..... 2023-07-10 11:44:33 +02:00
Paul Chavard
7136c96a36 feat(procedure): validate external links 2023-07-06 10:27:43 +02:00
Martin
6f2bd8f27c correctif(expiration): re-active l'expiration des dossiers termines 2023-06-29 09:22:48 +02:00
Martin
cc4d124068 tech(expires): pause car on est entrain de trop enqueue de jobs 2023-06-27 16:30:52 +02:00
simon lehericey
7ec604ced3 typo 2023-06-26 21:32:07 +02:00
Martin
a0ceee96bd amelioration(email.resume_hebdomadaire): envoie le mail a 4h du matin sur une periode de 3h
tech(
Co-authored-by: Colin Darie <colin@darie.eu>
2023-06-26 17:47:53 +02:00
Martin
d45a250075 amelioration(mail): ajoute d'un simili rate limiter pour envoyer les mails sur des fenetres de temps ayant une limite 2023-06-26 17:28:27 +02:00
Martin
61d620c280 amelioration(expiration.dossiers): evite d'envoyer tous les mails d'un coup. Donc supprime les dossiers en brouillon a 22h, les dossiers en construction a 14h, les dossiers termine a 7h. 2023-06-26 15:51:26 +02:00
simon lehericey
9fa864448e add tasks / job to migrate pjs under namespace 2023-06-26 13:50:18 +02:00
Colin Darie
7023284726
Merge pull request #9195 from colinux/job-declarative-dossier-unit
Jobs: traite en isolation les dossiers bloqués de démarches déclaratives
2023-06-19 14:44:59 +00:00
Paul Chavard
c2ae3426cd fix(commune): a commune can not be located in 99 2023-06-16 08:38:01 +01:00
Colin Darie
3939f85860
refactor(job): wrap sentry tags in a single before_perform 2023-06-14 12:06:22 +02:00
Colin Darie
17f5fb4a51
refactor(declarative): process dossier in job isolation 2023-06-14 12:06:22 +02:00
Paul Chavard
c4432b1b47 perf(carto): use json schema to validate geojson instead of rgeo 2023-06-06 15:43:56 +02:00
krichtof
0051face93
Merge pull request #9014 from demarches-simplifiees/8859-default_zones
Etq admin, lors de la création ou modification d'une démarche, des zones par défaut me sont suggérées
2023-05-26 17:25:21 +00:00
Christophe Robillard
76a8b721ce add tva adapter and tva job 2023-05-26 13:37:20 +02:00
Christophe Robillard
f04e121a6f add extrait_kbis to handle nom_commercial and capital_social 2023-05-26 13:37:20 +02:00
Christophe Robillard
ca922005f9 add admin update default zones job 2023-05-16 09:40:53 +02:00
Colin Darie
79f450a422
Merge pull request #9021 from colinux/feat-en-construction-fork
ETQ usager, je modifie et soumets à nouveau mon dossier “en construction"
2023-05-10 19:46:40 +00:00
Colin Darie
f6ebfe0e47
fix(dossier): sync search_terms after merge
Use a job instead of a lot of reloads
2023-05-09 18:49:52 +02:00
Paul Chavard
025bd5beaf
feat(dossier): dossier can be forked for editing 2023-05-09 15:34:10 +02:00
Colin Darie
f7029615a9
refactor(email): spread sending of instructeur digest emails over time
On envoi parfois plus de 20K mails, ce qui pose des problèmes de délivrance
et quotas si on le fait d'un coup.
On étale donc un peu dans la durée ces envois pour pas limiter le dépassement
de quota.
2023-05-09 11:32:43 +02:00
Colin Darie
e8e785b953
refactor(rubocop): fix Rails/ToFormattedS 2023-05-03 11:35:30 +02:00
Paul Chavard
1d10e59e63 fix(commune): fix ‘undefined’ departement codes 2023-04-27 12:07:43 +02:00
Martin
9dec6f1611 correctif(procedure.declarative): ETQ administrateur d'une procedure declarative, certains de mes dossiers restent en construction [ex: l'object storage est down, le dossier reste bloqué] 2023-04-21 15:45:45 +02:00
Colin Darie
160178b8f8
chore(rubocop): fix Rails/ExpandedDateRange 2023-04-19 12:55:13 +02:00
Paul Chavard
def32a3615 chore(dossier): remove fallback from commune champ 2023-04-11 10:49:01 +02:00
Paul Chavard
a6e3ea4839 fix(dossier): normalize champs commune data 2023-04-07 16:02:13 +02:00
Colin Darie
4288f28ac8 chore(job): same max_run_time between ArchiveCreationJob and ExportJob 2023-03-09 15:37:13 +01:00
Colin Darie
697aeeb348 refactor(job): DossieRebaseJob in new queue so they don't interfere with others
Ces jobs sont empilés par milliers d'un coup et peuvent mettre des dizaines
de minutes à s'écouler. On ne veut pas que ça interfère avec d'autres jobs,
notamment les scans antivirus qui, si retardés, empilent des "poll" pour
connaitre le status du fichier.
2023-03-09 15:18:14 +01:00
Colin Darie
86f15b8c05 chore(job): config delayed job for long-living export jobs 2023-03-08 18:37:41 +01:00
Colin Darie
6b87c290cb fix(cron): PurgeOldEmailEvent in batches 2023-03-08 15:31:10 +01:00
Colin Darie
d20114f978 chore(sentry): use "procedure" tag everywhere for a better debug experience 2023-03-08 13:48:44 +01:00
Colin Darie
43613009d6
fix(job): Cron::WeeklyOverviewJob simplified and respect dolist API rate limiting 2023-03-06 14:39:55 +01:00
Colin Darie
f8f14830a6
fix(missing-antivirus-job): retry when backend is unavailable 2023-03-06 14:39:55 +01:00
Colin Darie
e9585632d9 fix(job): hopefully fix pg timeouts in Cron::PurgeUnattachedBlobsJob 2023-03-02 13:42:04 +01:00
sebastiencarceles
f52554b5a3 review: update value with async fetch
1 - spec cover the job which fetches external data

2 - refactor the job with guard clauses

3 - delegate update operation to the champ itself

4 - annuaire education: override the update operation
to let the value be populated by the fetched data

5 - prefilling: don't fetch data synchronously
2023-02-28 14:53:08 +01:00
Paul Chavard
f6b528e497 chore(geo_area): normalize all geo_areas 2023-02-15 11:58:59 +01:00
sebastiencarceles
f0ffae8320 migrate(champs): normalize departements 2023-02-13 16:32:34 +01:00
Colin Darie
a4329b6699 chore(export/job): set procedure_id for sentry 2023-02-09 11:06:54 +01:00
Colin Darie
964f3829c6 fix(export/job): race condition when export was already generated 2023-02-09 11:06:54 +01:00
Martin
f4cc8078b4 amelioration(EmailEvent): purge les email_events vieux de plus de un mois
Update app/models/email_event.rb

Co-authored-by: Colin Darie <colin@darie.eu>

Update app/jobs/cron/purge_old_email_event_job.rb

Co-authored-by: Colin Darie <colin@darie.eu>
2023-02-06 10:35:57 +01:00
Lisa Durand
120fbb0ef7 Overload the finished_at 2023-02-01 17:06:04 +01:00
Lisa Durand
d0a131dc55 change the way we set the finished_at on batch operation job to fix alert display bug 2023-02-01 17:06:04 +01:00
Paul Chavard
dd2d3d4626 fix(task): improuve after party backfill_dossiers_repetitions 2023-02-01 15:27:07 +01:00
Paul Chavard
8bf0d9c5ec fix(dossier): backfill missing repetition champs 2023-02-01 10:36:46 +01:00
Damien Le Thiec
3a8a50a216
Allow prefill pays type de champs (#8344)
* Allow prefill pays type de champs

* Avoid conditional prefil params for pays champ

* Clean pays data with batch update

* Fix bug and add test batch update pays value

* Improve performance batch_update_pays

* Fix associated country code problem

* Fix after party task name

* Format country name if needed in batch update
2023-01-18 12:52:38 +01:00
Colin Darie
784b0458fe feat(dolist): consolidate dispatched events with delivered emails 2023-01-18 09:56:40 +01:00
Damien Le Thiec
5e26acb0e1
Make date and datetime prefillable (#8304)
* Make date and datetime prefillable

* Format in ISO8601 format
2023-01-12 17:42:02 +01:00
Damien Le Thiec
d5bfe84381
Nettoyage des dossiers préremplis abandonnés (#8341)
* Clean prefilled dossiers
2023-01-12 16:14:42 +01:00
Paul Chavard
dfe65136be refactor(repetition): add row_id to champs 2023-01-05 18:04:54 +01:00
Martin
018a94f43b correctif(batch_operation): empeche de changer l'etat d'un dossier en cas d'erreur. et s'assure de delinker le dossier en cas de dossier invalid 2023-01-05 16:20:18 +01:00
Paul Chavard
6e18090fb3 refactor(virus_scan_result): use column instead of metadata on blob 2023-01-04 12:12:11 +01:00