Schedules, triggers, events, alerts, and notifications.
Recently active
HelloI just started using Automation in FME Server 2020 and plan to use it more by migrating my existing scheduled jobs.I have a workspace which runs a batch script. It uploads multiple files to an SFTP server using WinSCP.com commands withing the script.The workspace in question, in "Automations" is connected to 2 Email (External Action) 1 - Success then send an e-mail2 - Failed then send an e-mail with 2 attachments (WinSCP.txt & Error.txt)Number 2 is the problem. So I thought I'd use Global Keys for that purpose ({Global.Email_Attachment}{Global.Email_attachment1})Right now it's failing before when the 2 parameters are associated together I get an error in the log stating that the file can't be found.Is that possible and if so how do I include both Global Keys within the Email Attachment field? If not how do I proceed?Thanks Sameer
The current Automation External Action Email does not support multiple attachments and I know I can create one ZIP file, therefore I need to continue to use the existing Notifications (Classic). My existing workflow is FMEServerEmailGenerator -> FMEServerNotifier ->What do I need to do in the Workbench to pass the "text_line_data" to the Automations External Action Topic?orIs there another method of sending an email with multiple attachments (not ZIP file)
I've been trying to move from the classic Notifications to FME Server Automations for sending emails. In the past I had a Subscription and a Topic set up which I used to notify for sending emails. Going forward, I want to use an Automation with a Trigger (based on my Topic) and an Email Action. The Trigger works fine and I've managed to map the JSON keys from my notification service to the relevant fields in the Email Action (some more documentation around this would have been helpful!). What is missing is sending multiple attachments at once in a single email. This worked fine through a Subscription by creating a list within my notification (email_attachment{}). How can this be achieved with an Email Action? The manual selection appears to allow only for single files, too. An additional note on this - I've noticed that (within the Email Action) sometimes the fields for attachment and email body are being cleared out when navigating away and back to the Automation screen (
Hi everyone, I know how to read just 1 text file and use StringSearcher to extract string from the content. But how do I read "multiple" text files "automatically" and extract specific string from the content in each one of them? Thanks in advanceHoward
Heya, looking for concept assistance (or more). We want to use attributes submitted in a Survey123 in an email body. My understanding is that this is a nested array in the json payload and must be parsed in a workspace. Can someone help with what this would look like in the workspace... what is the reader and how does it connect to the webhook payload? Also, what is the writer and how is it put into the email body. Just wanted to get more clarity on this before I get further into it. Thanks.
I have a simple workspace that reads in an excel sheet, joins that data to a point layer (created in and read from AGOL), and writes a new point feature layer to AGOL with said data. This process is set to automate using identical excel sheets that are attached to incoming emails daily. When manually loading excel sheets into the workspace on FME desktop all data is exported correctly but when starting the automation process and letting the workspace go through a backlog of emails and attachments the workspace does not export two attribute fields. There are no errors and it will export all other fields but neglects just two. All emails are automatically generated reports so there is no variation in the incoming data. Is anyone else experiencing something strange like this?
Does anyone know if there is a way to get the amount of free disk space using the FME Server API? I presume I could use a SystemCaller transformer and write out the information somewhere and access it that way, but wondering if there is an easier way. Just looking to get the same disk space details that are logged when a job runs (see screenshot). Thanks
I am creating an automation to delete a large number of features from sde. The features have a grouping attribute that i am hoping will help make this doable by automating to fme server and passing one group at a time while changing the flag upon completion. then on to the next group in the next automation job. There are aver 77million features in the egdb (sde). I have the grouping attribute in another database (sql flat table). and i am able to query that data quickly with e.g. [path_windows_unc] LIKE $(path_windows_unc)the same query on the sde table takes hours. I am unable to see the sde database when i try to set up a pre-fetch with sqlexecutor or databasejoiner, inlinequerier. How can i optimize getting the data needed without reading all 77million features?
I'm working with FME 2020.2.4I know how to check from within a workspace whether it is run from FME Destkop o from FME Server. I just check in a scripted parameter if FME_SHAREDRESOURCE_[whatever] exists in fme.macroValues. But, is there any way to check whether a workspace is run from a Workspace App or from an automation?In the Jobs tab in FME Server there's a Source Type column with value Automations, Workspace Apps or empty to indicate it. I want to get that same information in the workspace to include it in an email sent from the shutdown python script.
I have a scheduled workspace that needs to truncate an sde table. The table is shared as aservice in AGS and portal. I see a customtransformer to start/stop the arcgisserver. But if i'm not mistaken this would not remove any locks that are on the sde table. do i need to put this into an automation in order to make all this happen? since i don't see any specific transformers to accomplish this. is it going to have to be through the rest api or python? does anyone have a workflow and or script to do this?I assume i would need to...stop the AGS service (to keep someone from connecting while the rather lengthy trunc/load is happening) then remove the locks (I think i have only heard of doing this through the rest api). run the fme wkspc and truncate then load the new data.restart the service.
Hi All, I have a strange one i think! Its a simple workspace which takes a Spatial SQL table of property boundaries and reprojects it before writing to a mapinfo tab file. Running the workspace on workbench (same server) gives the correct results, running it on fme server produces a tab file which is from what i can see 99% correct, but muddled up in places. Confirmed Server workspace and Workbench are identicalDeleted server workspace and published from workbench again - same resultsServer job log doesn't give any indications to any issues - features written are sameRestarting server does nothing (Express installation)workbench & server are same version 2022 Heres the weird bit!, if i inspect the tab file after running the workspace on fme server it seems to have swapped the attributes of about 13 spatial features around and muddled them about. Screenshots might give a better idea.Any suggestions are appreciated!
I have an FFS file with attributes that show inside the FME inspector but I am unable to expose them. Please see the capture for more details. Thank you so much for the help.
How do I configure a scheduled automation to run hourly between 5am and 6pm, every day? Currently I have it running hourly continuously but I would like to free up the Engines outside of business hours. Is this possible? Thanks
We have thousands of workbench that need a round of audit to check whether the workbench contains certain transformers. Is there a way to programmatically check this without having to open the workbench themselves?
I was troubleshooting an FME Automation using CronTAB. 1) I adjusted the Schedule using CronTAB and an error message appearedPS: The message in black background covered the error message 2) Click on the "X" to close the error message and the following appeared3) I tried to rectify the error and started the Automation. Got this Screenshot shown in Step 2 is the bug.FME Server made me believe that the Automation stopped however it was still running in the background.
Basically, I have a workbench that produces a CSV that I want to use in other workbenches and get a result. But There doesn't seem to be a trigger that works for me in this idea. Here is how the automation would look: How can I trigger an automation from the result of the first workbench?How can I transfer the resulting dataset into the automation after the trigger? Thank you,Kevin
Hello,I am using rest api url = f'{SERVER_URL}/fmerest/v3/transformations/transact/{REPOSITORY}/{WORKSPACE}?longPoll=true' but does not get back resultDatasetDownloadUrl in result class. What went wrong? Regards Gerhard
Hi there, I'm having some trouble getting an email trigger to work inside an Automation, which is accessing a Shared Mailbox. I am able to authenticate using my email address/password combination via the same IMAP server details, so can rule out the connection between FME Server and the mail server. When accessing a shared mailbox, what are the correct credentials to use in an IMAP trigger? Typically that mailbox will be shared to users, and not have it's own dedicated password. That makes me think that one of the FME Server System Services is the account which is authenticating with the mailbox, and to use the email account with no password populated inside of the trigger. Is this the case? And which system service would be authenticating with the mailbox? When following this action, I get an error saying 'Invalid Credentials'. Am I right in thinking that one of the system services is acting as the authenticated user to the shared mailbox? Any help would be much appr
Does anyone has a good example for this script? I copied the script from here and filled out some of the parameters. Not a coder. Hope someone can help me out https://docs.safe.com/fme/html/FME_Desktop_Documentation/FME_Desktop/Workbench/Startup_and_Shutdown_Python_Scripts.htm import smtplibfrom email.MIMEMultipart import MIMEMultipartfrom email.MIMEBase import MIMEBasefrom email.MIMEText import MIMETextfrom email.Utils import COMMASPACE, formatdatefrom email import Encodersimport osimport fme# FME variables.status = fme.statuserrorMsg = fme.failureMessagelogFile = fme.logFileName # E-mail message values.subject = "FME Translation FAILURE"to = "receiver@domain.com"sender = "Your FME script <sender@domain.com>"text = "FME translation failed with error message: " + errorMsg + "\r\n\r\nSee attached logfile for details." # Credentials.AUTHREQUIRED = 0username = "smtp.user@domain.com"password = "smtppassword"smtpServer = "smtp.server.com" # Create and return a message with a logfile a
Hello,I'm trying to rebuild FME server automatically. I take back up of the server (.fsconfig file) and use this when ever I try to recreate the server automatically using python script. But, I found that the fsconfig does not store the number dynamic engines which were configured previously. So, whenever I recreate server the dynamic engine has default value 0. Is there any way to change this number automatically without manually changing this figure ? Thanks
Hi altruist, I am looking for an solution.I have a road name list in three different feature type (two in shape files, one in excel). I have brought them together after editing schema to get a unique list of names. Now I want an automated way to validate a new name whether this is a new name or existing in the list. Can anyone kindly tell the ways of working around? Thanks in advance. attached image: my workspace so far
I have survey records being written to a database using a work bench. Along the way there is a transformer that checks for null values, if they exist currently the records are wrote to a .csv file to be checked. I would like to send an email to the surveyor so they can edit and resend their records for writing to the database. Currently I have a HTML Report Generator set up for a table of records that have null values. I had tried to use the Attribute File Writer to isolate the surveyor name and then use the html content in the email body. This doesn't seem to work and was hoping someone has a workflow. Basically the Emailer 'To' is conditional based on the survey record submitted and then I would like the email to contain the survey record with null value. Thanks in advance!,Kathy
We have a large number of JPG images that cover the same area (flown with a drone in a criss-cross pattern). We need to split the set of images into smaller, workable groups. The idea is to, if possible, create an area of 2 rows by 2 columns that cover the same area where the images were taken. If an image falls within one of the four quadrants, it should be moved to a specific folder that representsthat quadrant. That way we can correctly subdivide the set of images into four, more manageable blocks. The 2DGridAccumulator seems to be able to setup a grid, but is there now a way to compare each image to each cell of such a generated grid and then move that image to a folder as explained above? As the drone flew in a criss-cross pattern, the date modified for each file cannot be used to determine in what block it should be placed (ie by just using Windows File Explorer to categorise the images). Apologies if there is a straight forward solution for this which I could not find.
Is it possible to use multiple CRON triggers in the same Automation, also while "passing" values from one workspace block to another using values from an embedded Automations writer? Essentially I would like to set up a single Automation that triggers at a given time, completes a number of steps, and then "waits" for a second CRON trigger to continue with additional steps, and with the additional steps part of the routine using a value from an upstream block.
I have a workbench that is reading in FFS files as source. The files are located at a network location that required permissions from IT under our logins to access, \\\\serverloc\\folder\\source.ffs. Everything works as expected from Desktop. The issue is when we upload the workbench to FME Server. The error is Invalid Dataset '\\\\serverloc\\folder\\source.ffs'. Dataset must exist prior to reading. We have spoken with the admin of FME Server, who said they added a service account that is used for the FME Services to access that network location. We are getting the same error. What steps need to be taken to allow FME Server access to read from this location?